Docker:安全集群HA Docker注册表
克服在开发和生产中使用Docker的挑战
执行概要
Docker已经成为容器化事实上的标准,然而,该技术并不能充分满足软件开发组织的一些需求。例如,如何在组织中分发和共享图像,如果解决了这个问题,那么如何控制对这些图像的访问?或者,您如何克服阻碍开发人员和自动化构建过程进展的网络连接和延迟问题?
所有这些问题的答案都是通用的JFrog Artifactoryrepository manager.Artifactory是一个安全、健壮的Docker注册表;管理和组织Docker映像的单一访问点。通过对Docker注册表API的全面支持,Artifactory可以透明地与Docker客户端一起工作。
下表显示了JFrog Artifactory如何消除与管理Docker映像相关的开销。
| 对远程Docker注册表的可靠、一致和高效访问 | |
| 远程公共注册中心,例如码头工人中心对于开发至关重要,必须在任何时候都可用。如果由于停机或网络问题而无法访问这些文件,开发和构建就会停止 | Artifactory通过将远程Docker映像缓存在Docker Hub和其他外部资源中,减轻了您对Docker Hub和其他外部资源的依赖2022世界杯阿根廷预选赛赛程远程存储库;用作远程资源代理的本地缓存。这克服了任何由网络问题或资源下降引起的可访问性问题。 |
| 减少网络流量和优化构建 | |
| 许多开发人员和构建机器/CI服务器不断下载组件会产生大量网络流量并降低构建速度。 | 一旦Artifactory下载了一个映像,所有开发人员和构建工具/CI服务器都可以在本地使用它,从而减少网络流量,加快构建过程。 |
| 与您的构建生态系统完全集成 | |
| 无论构建生态系统是如何构建的,每天运行多个构建的构建系统必须能够轻松访问映像。 | CI系统通过Artifactory解决依赖关系,并在Artifactory中将构建部署到相应的Docker注册表中。由于Artifactory存储详尽的构建信息,通过Artifactory运行构建可以实现完全可跟踪的构建,并允许您将构建与内置的“Diff”工具进行比较。Artifactory还通过一系列简单的设置(如分期、构建推广和VCS标记)来简化发布管理,以完全自动化发布管理过程。 |
| 安全及访问控制 | |
| 每个组织都需要实施安全策略,以便用户只能访问他们被授权使用的内部和外部资源。2022世界杯阿根廷预选赛赛程 | Artifactory在多个级别上提供安全性和访问控制。使用“包含”和“排除”模式、团队和权限,以及与常见访问协议(如LDAP、SAML和Crowd)的集成,Artifactory提供了细粒度的 访问控制,从限制完整的存储库到限制单个工件,以及从任何规模的组到单个开发人员。 |
| 漏洞检测与修复 | |
| 使用开源组件会使您在开发和生产系统中面临安全漏洞和许可证遵从性问题。 | Artifactory的独特和紧密的集成JFrog x光使您能够通过干预管道的所有阶段来防止问题和漏洞进入您的软件。Xray集成了流行的ide和CI服务器,可以在开发和CI构建期间检测漏洞。即使在Docker映像部署到生产环境后,Xray仍会继续扫描它们,并针对已报告的新漏洞提供策略违反警报。通过深入的影响分析,Xray构建了一个组件图,并识别出组织中所有受漏洞或策略违规影响的Docker映像。 |
| 在您的组织中分发和共享图像 | |
| 为了最大限度地重用代码库,并确保开发人员在相同的环境下工作,您需要一种在团队和整个组织中共享映像的简单方法。 | 使用局部存储库, Artifactory为您提供了一个中央位置来存储您的内部Docker图像,以便所有团队都可以从单个URL访问任何工件。为了支持远程团队,Artifactory提供了各种复制功能,允许您同步任意数量的全球分布式站点,并灵活地容纳几乎任何站点多站点拓扑. |
| 智能搜索和人工查询语言(AQL) | |
| 在不同开发人员下载的许多映像和您在自己的组织中开发的内部映像之间,找到特定的东西可能会变得相当复杂。 | Artifactory提供了各种各样的搜索选项,从简单的名称搜索到常见的内置搜索功能,如“最新版本搜索”通过校验和搜索使用Artifactory的独特checksum-based存储. Artifactory查询语言(AQL)将搜索带到新的级别提供了一种简单的方法来根据任意数量的参数来制定复杂的查询。 |
| 用户插件 | |
| 而Artifactory提供了一组广泛的功能来管理Docker图片在美国,满足不同组织的所有需求是不可能的。 | 用户插件扩展了Artifactory REST API,提供了一种实现复杂行为的简单方法。这为您提供了极大的自由,可以在您的工作流中支持几乎任何自定义需求。 |
| 高可用性 | |
| 作为组织中的关键任务组件,存储库管理器中的任何停机都可能对组织的生产力产生严重影响。 | Artifactory可以部署在具有两个或更多服务器的高可用性配置中,可以使您的正常运行时间达到5 - 9可用性级别。 |
| 维护和监控 | |
| 生成的Docker映像的数量可能会快速增长。如果没有适当的管理,您的系统很快就会被旧的和不相关的映像阻塞。 | Artifactory通过自动的定时清理过程,监视和控制磁盘空间使用,以及在最关键的Docker映像上定义“监视”的能力,使您的系统免于混乱。 |
| JFrog企业+:所有二进制文件的通用端到端解决方案 | |
| 为了在当今市场上具有竞争力,公司必须在质量、一致性、安全性和全球覆盖方面不断改进他们的软件。为了应对这一挑战,公司必须有健全的DevOps实践。 | JFrog企业+平台提供轻松创建、管理和部署软件所需的工具。它包括Artifactory,提供对Docker映像和其他用当今任何主要开发技术创建的二进制工件的高级管理,以及JFrog Mission Control、JFrog Xray、JFrog Distribution和Artifactory Edge节点,涵盖工件成熟度、安全和漏洞保护、发布管理、分析和分发。 |
JFrog Artifactory通过一些功能克服了将Docker应用于生产的障碍,比如通过开发管道将图像作为不可变组件推广到生产。高可用性和基于云的存储等特性提供了企业所需的稳定性、可伸缩性和安全性。作为一个普遍的构件库, Artifactory为所有主要的开发技术提供相同的本地级支持,使其在任何开发生态系统中发挥核心作用。
内容
简介
1.对远程Docker注册表的可靠、一致和高效访问
2.减少网络流量和优化构建
3.与您的构建生态系统完全集成
4.安全及访问控制
5.漏洞检测与修复
6.在您的组织中分发和共享映像
7.智能搜索和人工查询语言(AQL)
8.用户插件
9.系统稳定性和可靠性与Artifactory高可用性
10.维护和监控
11.JFrog企业+:一个通用的,端到端解决方案的所有二进制文件
总结
简介
容器技术并不新鲜。它自2000年以来一直存在freeBSD监狱它可以访问操作系统内核和其他一些系统资源。2022世界杯阿根廷预选赛赛程然后码头工人随着越来越多的企业采用Docker技术在数据中心、IT基础设施和开发人员笔记本电脑上运行应用程序,Docker脱颖而出,成为“容器之王”。但是,就像开源革命催生的基于组件的开发在企业内部管理组件方面带来了挑战一样,组织使用的Docker映像数量不断增加,也带来了类似的挑战:
- 如何在组织内分发和共享映像?
- 如何管理谁可以访问映像?
- 如何使查找图像变得容易?
- 如何支持用于管理映像的各种策略?
- 您如何确保您的图像总是可用的?
所有这些问题的答案都是Artifactory二进制存储库作为单一功能的管理器访问点你可以通过它来管理你所有的码头工人的图片.通过对Docker Registry API的全面支持,Artifactory对Docker客户端是透明的,因此可以提高您的组织通过消除与管理为运行而开发的应用程序和图像相关的开销来提高工作效率码头工人的容器.
1.对远程Docker注册表的可靠、一致和高效访问
在开发你的码头工人的图片,您的许多依赖项将是托管在远程Docker注册表上的其他映像。这些资源可能是公共资源,如Docker 2022世界杯阿根廷预选赛赛程Hub,甚至是位于远程站点的内部资源,如JFrog Bintray上的私有Docker注册表。这些远程资源对您的开发工作2022世界杯阿根廷预选赛赛程至关重要,必须在任何时候都可用,但是超出您控制的事件可能会使它们不可用。公共资源(如D2022世界杯阿根廷预选赛赛程ocker Hub)可能会崩溃,连接问题可能会阻止访问内部网络以外的其他远程资源。如果不能访问Docker中心和其他远程Docker注册表,开发和构建就会停滞不前。
JFrog Artifactory是开发者和远程Docker注册表之间的中介,完全实现了Docker注册表API规范。这允许Artifactory代理任何公共或专用Docker注册表如码头工人中心、JFrog Bintray或其他私有Docker注册表,并像对待其他注册表一样对待它们远程存储库.第一次下载映像时,Artifactory将其存储在本地缓存中。在接收到映像的后续请求时,Artifactory对映像执行智能校验和搜索,如果已经下载了映像,则提供本地缓存的副本。因此,每个映像只下载一次,然后在本地对组织中的所有其他开发人员可用。这减少了网络流量,并有效地屏蔽了网络、Docker Hub或任何其他远程Docker注册表的任何问题,为您提供了对远程Docker映像的一致且可靠的访问。
远程存储库作为在远程站点(如Docker Hub或JFrog Bintray)管理的Docker注册中心的缓存代理。映像根据控制缓存和代理行为的各种配置参数在远程Docker registry中存储和更新。
2.减少网络流量和优化构建
由于您的大部分代码可能是组装而不是构建的,因此您希望确保从外部资源下载的Docker映像的使用得到优化。2022世界杯阿根廷预选赛赛程两个(或200个)开发人员使用相同的映像分别下载它是没有意义的。除了可靠性之外,远程Docker注册表的另一个好处是减少了网络连接。一旦下载了映像,组织中的所有其他开发人员就可以在本地使用它(从而减少网络流量)。当然,这对每个开发人员都是透明的。一旦图像通过Artifactory访问,开发人员可以继续做她最擅长的,其余的留给Artifactory。
如果我们从构建服务器的角度来看网络流量,好处是显而易见的。一个典型的项目可能依赖于来自外部资源的数十个(如果不是数百个)图像。2022世界杯阿根廷预选赛赛程为了让服务器构建这些项目,所有远程Docker映像必须对服务器环境可用。下载所有这些所需的映像可能会在网络上产生千兆字节的数据流量,这会花费大量的时间来延迟构建过程。通过在本地缓存远程Docker映像,构建过程需要较少的网络连接,因此速度更快。

3.与您的构建生态系统完全集成
虽然让开发人员能够轻松高效地访问Docker映像很重要,但对于可能每天运行多次构建的构建系统来说,这一点更为重要。
通过一组插件,Artifactory提供了与当今流行的CI系统(如Jenkins、Bamboo和TeamCity)的紧密集成。这些系统在创建构建时使用Artifactory来提供工件和解决依赖关系,也可以将构建输出部署到相应的本地Docker注册中心。
通过Artifactory运行构建的主要好处之一是完全可重复的构建。Artifactory存储详尽的构建信息,包括特定的工件版本、模块、依赖关系、系统属性、环境变量、用户信息、时间戳等等。有了这些信息,就很容易在任何时候忠实地重新生成一个构建。此外,使用内置的“Diff”工具,您可以比较构建,并确切地知道从一个版本到另一个版本引入了哪些更改。当试图追踪发布的特定版本中报告的错误时,这些功能是非常宝贵的。
Artifactory还简化了发布管理。一系列简单的设置配置了一些事情,比如分期、构建推广、VCS标记,以及更本质上自动化的发布管理过程。通过Artifactory对多个安全、私有Docker注册表的支持,您可以建立一个推广管道,允许您将不可更改的Docker映像部署到您的生产系统并自信地运行它们。
通过在Artifactory内部建立推广管道,自信地将Docker投入生产。
JFrog CLI是一个紧凑而智能的客户端,它提供了一个接口来访问JFrog产品,简化了您的自动化脚本,使它们更易于阅读和维护。hth华体会最新官方网站JFrog CLI通过其REST API访问JFrog Artifactory,使您的脚本在以下几个方面更加高效和可靠:并发上传和下载让构建运行得更快,校验和优化避免冗余文件传输,通配符和正则表达式为您提供了一种简单的方法来指定文件上传或下载。
4.安全及访问控制
每一个组织需要实现安全策略,以便开发人员只能在授权的位置存储映像,并访问他们被授权使用的映像。
Artifactory提供了一个完整的安全解决方案,可以提供任意数量的安全、私有Docker注册中心。作为第一道防线,Artifactory允许你使用命名模式来定义“exclude”和“Includes”进行访问,这样你就可以控制哪些包甚至可以缓存在任何特定的远程Docker注册表中。然后,你可以分配
用户和组的不同权限集,以控制对每个Docker注册表的访问。例如,通过这种方式,您可以允许开发人员将候选版本部署到本地QA Docker注册中心,但只允许授权的QA人员(他们已经确保候选版本通过了所需的质量门槛)将其移动到“发布”注册中心,从中提取生产映像。最后,您甚至可以使用Artifactory与LDAP、Active Directory、SAML、Crowd和其他组件的集成来控制对服务器的访问。
Artifactory提供了市场上无与伦比的安全性和访问控制,有效地取代了所有其他解决方案,让您可以在组织内管理任意数量的安全和私有Docker注册中心。
5.漏洞检测与修复
使用开源组件会使您面临安全漏洞和许可证遵从性问题。即使在开发过程中被认为是“安全”的依赖关系,后来也可能被发现包含安全缺陷,到那时,您的Docker映像可能已经在生产系统中,使您的产品和服务暴露在安全漏洞中。hth华体会最新官方网站
Artifactory的独特和紧密的集成JFrog x光使您能够通过干预管道的所有阶段来防止问题和漏洞进入您的软件。通过与流行的ide集成,Xray可以在项目中包含可疑的依赖项时立即通知开发人员。一旦代码提交,CI流程接管,Xray就会扫描构建,如果在任何构建构件和依赖项中检测到漏洞,就会使构建失败。即使在Docker映像部署到生产系统后,Xray仍会继续扫描它们,并在发现新的漏洞时向管理员发出警报。通过深度影响分析,Xray不仅会通知您Docker映像中的漏洞,还会识别包含该漏洞的确切依赖项,并指出组织中包含该受感染依赖项的所有其他映像。如果可用,Xray甚至会通知您是否存在已修复该漏洞的依赖项的更新版本。
JFrog x射线通过通用的人工制品分析提供持续的安全性。它与JFrog Artifactory合作分析软件组件,并在软件应用程序生命周期的任何阶段揭示各种漏洞。通过扫描二进制组件及其元数据,递归地遍历任何级别的依赖关系,JFrog Xray提供了前所未有的可见性,以揭示潜伏在组织中任何地方的脆弱组件。
6.在您的组织中分发和共享映像
为了最大限度地重用代码库,并确保开发人员在相同的环境下工作,您需要一种在团队和整个组织中共享映像的简单方法。
使用局部存储库, Artifactory为您提供了一个部署和存储映像的中心位置-有效地,一个私有Docker注册中心,可以取代Docker Hub和Docker Hub Enterprise。当所有团队都知道可以从单个URL访问任何图像时,管理不同团队之间对图像的访问就变得非常容易了。但是,如果您希望与位于组织中地理位置较远的同事共享映像,该怎么办呢?
为了允许在不同站点之间共享,您可以将存储库复制到本地网络之外的另一个Artifactory实例。复制的存储库会定期自动与它们的源同步,这样您的映像就可以提供给不同的团队,无论他们位于世界各地。通过多推复制和基于事件的拉复制功能,Artifactory允许您同步任意数量的全球分布式站点,并具有适应各种各样的站点的灵活性多站点拓扑.
7.智能搜索和人工查询语言(AQL)
使用第三方映像可能会非常复杂。在不同开发人员下载的许多映像和您在自己的组织中开发的内部映像之间,找到特定的东西可能会成为一个相当大的挑战。
Artifactory通过UI和使用广泛的REST API为您提供了灵活的搜索功能。你可以根据名称、版本、时间戳、校验和和更多。Artifactory还提供了一些常见的内置的搜索。例如,您可以向Artifactory询问any的“最新”版本图像而不必指定特定的版本号。Artifactory知道如何比较图像的所有不同版本在任何一个存储库并提供最新的可用.您还可以为图像分配任意一组自定义属性,以便稍后用于搜索。例如,您可以用“已发布”属性标记产品发布中使用的所有特定版本的图像,以便稍后轻松地再现已发布的版本。
通过校验和搜索图像是Artifactory通过其独特的基于校验和的存储支持的强大功能。即使映像已被重命名、移动或部署到组织之外,您也可以将其追溯到原始版本。只需通过校验和工具(支持SHA-256, SHA-1和MD5)运行图像,并在Artifactory中运行“校验和”搜索来检索原始版本。
AQL是一种灵活的查询语言,它提供了一种简单的方法来制定复杂的查询,使用任意数量的搜索条件、过滤器、排序选项和输出字段在存储库中进行搜索。它充分利用了Artifactory独特架构下的数据库,并为您提供了无限的自由度来精确地制定正确的查询,以找到您正在搜索的非常特定的包。这是其他二进制存储库所不能提供的。
8.用户插件
而Artifactory提供了一组可供管理的广泛特性图片在美国,满足不同组织的所有需求是不可能的。输入用户插件.
用户插件提供了一长串入口点,这些入口点有效地扩展了Artifactory REST API,提供了一种实现复杂行为的简单方法。这为您提供了极大的自由,可以支持工作流中的任何自定义需求,包括调度任务、管理安全和身份验证、部署、维护和清理等等。为了保持简单,用户插件被编写为Groovy脚本,并使用简单的DSL将它们包装为扩展点中的闭包。这些插件可以动态地更改和重新部署,甚至可以在您最喜欢的IDE中进行调试。
9.系统稳定性和可靠性与Artifactory高可用性
玩这样的游戏中央在管理图像,你的二进制存储库经理可以成为你的关键任务组件组织。任何停机时间都可能严重影响您的工作效率,您需要确保开发人员在任何时候都可以访问Docker注册表。
Artifactory支持高可用性网络使用2个或更多Artifactory服务器集群进行配置当地的区域网络.一个冗余网络架构意味着不存在单点故障,只要Artifactory节点中至少有一个处于运行状态,您的系统就可以继续运行。这最大化你的正常运行时间,可以把它的水平高达“五个九”可用性.此外,您的系统可以在不影响性能的情况下适应更大的负载突发。通过水平服务器可伸缩性,您可以轻松地增加容量以满足任何负载需求组织生长。最后,通过使用具有多台服务器的架构,Artifactory HA允许您在没有系统停机的情况下执行大多数维护任务。

被认为对组织任务至关重要的系统可以部署在高可用性配置以增加稳定性和可靠性。这是通过复制系统中的节点并将它们部署为冗余集群来实现的,从而消除任何单个节点上的完全可靠性。在高可用性配置中,不存在单点故障。如果任何特定节点宕机,系统将通过剩余的冗余节点继续无缝地、透明地对用户运行,不会停机或整体系统性能下降。
10.维护和监控
随着自动化软件交付系统的发展,您生成的映像的数量可以快速增长。如果没有适当的管理,您的系统很快就会被旧的和不相关的映像阻塞。
Artifactory通过自动定时清理过程使您的系统有条理,没有杂乱。通过一些简单的设置,您可以安排任务来清理旧的构建和未使用的映像。您可以设置磁盘空间限制并监控使用方法,或者定义“手表”,以便在最重要的图像发生变化时接收警报。通过广泛的REST API, Artifactory几乎可以支持您希望在组织中实现的任何基于规则的清理协议。
11.JFrog企业+:一个通用的,端到端解决方案的所有二进制文件
JFrog Enterprise+平台设计用于满足公司不断增长的开发和分发软件的需求。JFrog Enterprise+为DevOps提供了轻松创建、管理和部署软件所需的工具,包括以下组件:
JFROG ARTIFACTORY是JFrog Enterprise+的母舰。它从头开始设计,以适应任何开发生态系统。Artifactory独特地构建在基于校验和的存储上,支持任何存储库布局,因此可以为任何打包格式提供本地级支持。本质上,无论您使用何种打包格式,Artifactory都可以存储和管理二进制文件,并且对相应的打包客户端是透明的。客户端使用Artifactory的方式与使用本机存储库的方式完全相同。例如,如果你正在使用Docker映像,Artifactory代理Docker Hub和其他远程Docker资源,让你在本地Docker注册表中存储自己的映像,并透明地与Docker客户端一起工作。2022世界杯阿根廷预选赛赛程类似于npm, Vagrant, NuGet, Ruby, Debian, YUM, Python等。
Jfrog任务控制中心是用于管理全局DevOps工具链中所有JFrog服务和CI服务器的单一访问点。JFrog Insight是一个DevOps分析引擎,作为企业+平台的一部分添加到JFrog Mission Control中,用于测量、分析和优化分发流程。
JFROG x光通过在整个软件开发生命周期(从开发、测试到生产)中提供对软件工件和依赖关系的自动化和持续的治理和审计,增加对软件发布的信任。
JFROG分布是一个内部部署工具,允许您在两个Artifactory实例之间或从Artifactory到多个Artifactory Edge节点之间编排软件分发。
Jfrog artifactory edge是Artifactory的一个专门版本,其唯一目的是将发布包的内容直接交付给消费者,因此将被安装在尽可能靠近计算边缘的地理位置上。
JFROG访问为所有JFrog产品提供了一个通用的身份验证和授权基础设施来管理安全实体。hth华体会最新官方网站随着JFrog Enterprise+的推出,JFrog Access可以用来将不同的JFrog服务联合到一个单一的“信任圈”中,支持单点登录。
JFrog Enterprise+提供了坚实的DevOps基础,这对公司的成功至关重要,并允许软件组织专注于推动业务的创新,而不必担心基础设施。
总结

从freeBSD监狱到Docker在许多开发组织中变得普遍,容器技术已经取得了长足的进步。然而,它仍在努力获得生产系统的广泛接受。JFrog Artifactory通过一些功能克服了将Docker应用于生产的障碍,比如通过开发管道将图像作为不可变组件推广到生产。高可用性、基于云的存储以及图像扫描和分析等功能提供了企业所需的稳定性、可伸缩性和安全性。作为一个通用的工件存储库,Artifactory为所有主要的开发技术(如Maven、NPM、NuGet和Debian)提供了相同的原生级支持,使其在任何开发生态系统中都处于中心地位。
更多关于JFrog Artifactory的信息,请联系我们info@www.si-fil.com.

