Docker:安全集群HA Docker注册中心
克服Docker在开发和生产中使用的挑战
执行概要
Docker已经成为集装箱化的事实上的标准,然而,该技术并不能充分满足软件开发组织的一些需求。例如,如何在组织中分发和共享图像,如果要解决这个问题,如何控制对这些图像的访问?或者,您如何克服阻碍开发人员和自动化构建过程进展的网络连接和延迟问题?
所有这些问题的答案都是JFrog Artifactory,通用的repository manager.Artifactory是一个安全、健壮的Docker注册表;一个单独的访问点来管理和组织您的Docker映像。通过对Docker注册表API的全面支持,Artifactory可以透明地与Docker客户机一起工作。
下表显示了JFrog Artifactory如何消除与管理Docker映像相关的开销。
| 对远程Docker注册表的可靠、一致和高效访问 | |
| 远程公共注册中心,例如码头工人中心对于开发非常关键,并且必须在任何时候都可用。如果由于中断或网络问题而无法访问这些内容,那么开发和构建就会陷入停滞 | Artifactory通过将远程Docker映像缓存到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 Enterprise+:一个适用于所有二进制文件的通用端到端解决方案 | |
| 为了在当今市场上具有竞争力,公司必须在质量、一致性、安全性和全球覆盖方面不断改进他们的软件。为了迎接这一挑战,公司必须有完善的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 Enterprise+:一个适用于所有二进制文件的通用端到端解决方案
总结
简介
集装箱技术并不新鲜。从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注册表的缓存代理,该注册表由远程站点(如Docker Hub或JFrog Bintray)管理。根据控制缓存和代理行为的各种配置参数,在远程Docker注册中心存储和更新映像。
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 Xray通过通用工件分析提供持续的安全性。它与JFrog Artifactory一起分析软件组件,并在软件应用程序生命周期的任何阶段揭示各种漏洞。通过扫描二进制组件及其元数据,递归地检查任何级别的依赖关系,JFrog Xray提供了前所未有的可见性,可以揭示潜伏在组织中任何地方的脆弱组件。
6.在您的组织中分发和共享图像
为了最大限度地重用代码库,并确保开发人员在相同的环境下工作,您需要一种在团队内部和跨组织共享图像的简单方法。
使用局部存储库, Artifactory为您提供了一个部署和存储映像的中心位置——有效地,一个私有Docker注册中心,可以取代Docker Hub和Docker Hub Enterprise。当所有团队都知道可以从单个URL访问任何图像时,管理不同团队之间对图像的访问就变得非常容易。但是,如果您想与位于您组织地理位置较远地点的同事共享您的图像,该怎么办呢?
为了允许不同站点之间的共享,您可以将您的存储库复制到本地网络之外的Artifactory的另一个实例。复制的存储库会定期与它们的源代码自动同步,这样您的图像就可以提供给世界各地的不同团队,无论他们位于哪里。通过多推复制和基于事件的拉式复制功能,Artifactory允许同步任意数量的全局分布站点,并具有容纳各种类型的多站点拓扑.
7.智能搜索和人工查询语言(AQL)
使用第三方图像可能非常复杂。在不同开发人员下载的许多图像和您在自己的组织中开发的内部图像之间,找到特定的东西可能会成为相当大的挑战。
Artifactory通过UI和使用广泛的REST API为您提供灵活的搜索功能。您可以根据任何固有属性的组合来查找图像,例如名称、版本、时间戳、校验和和更多。Artifactory还提供了一些常见的内置的搜索。例如,您可以向Artifactory询问任何的“最新”版本图像不需要指定特定的版本号。Artifactory知道如何比较一个图像的所有不同版本在任何一个存储库并提供最新的可用.您还可以为您的图像分配任意一组自定义属性,以便稍后用于搜索。例如,您可以用“published”属性标记产品发行版中使用的图像的所有特定版本,以便稍后轻松再现发行版本。
通过图像的校验和搜索图像是Artifactory通过其独特的基于校验和的存储所支持的强大功能。即使映像已被重命名、移动或部署到组织之外,也可以追溯到原始版本。只需通过校验和工具(支持SHA-256、SHA-1和MD5)运行图像,并在Artifactory中运行“校验和”搜索,以检索原始版本。
AQL是一种灵活的查询语言,它提供了一种简单的方法来制定复杂的查询,使用任意数量的搜索条件、过滤器、排序选项和输出字段在存储库中搜索。它充分利用Artifactory的独特架构下的数据库,并为您提供无限的自由度,以精确地制定正确的查询来查找您正在搜索的那些非常特定的包。这是其他二进制存储库无法提供的。
8.用户插件
而Artifactory提供了一组广泛的特性来管理图片,它不可能满足不同组织的所有需求。输入用户插件.
用户插件提供了一长串入口点,这些入口点有效地扩展了Artifactory REST API,提供了实现复杂行为的简单方法。这为您提供了极大的自由,可以支持工作流中的几乎任何定制需求,包括调度任务、管理安全和身份验证、部署、维护和清理等。为了简单起见,用户插件被编写为Groovy脚本,并使用一个简单的DSL将它们包装为扩展点中的闭包。插件可以动态更改和重新部署,甚至可以在您最喜欢的IDE中进行调试。
9.系统稳定性和可靠性与Artifactory高可用性
玩这样的游戏中央的角色管理图像,你的二进制存储库Manager可以成为您的组织。任何停机都可能对您的生产力造成严重的后果,您需要确保开发人员可以随时访问您的Docker注册表。
Artifactory支持高可用性网络在同一台设备上使用2个或更多Artifactory服务器的集群进行配置当地的区域网络.一个冗余网络体系结构意味着没有单点故障,只要至少有一个Artifactory节点是可操作的,您的系统就可以继续运行。这最大化你的正常运行时间,可以把它的水平达到“五个9”可用性.此外,您的系统可以在不影响性能的情况下适应更大的负载突发。通过水平服务器可伸缩性,您可以轻松地增加您的容量,以满足任何负载需求组织生长。最后,通过使用具有多个服务器的体系结构,Artifactory HA允许您在没有系统停机的情况下执行大多数维护任务。

被认为对组织至关重要的系统可以部署在高可用性配置增加稳定性和可靠性。这是通过复制系统中的节点并将它们部署为冗余集群来实现的,从而消除任何单个节点上的完全可靠性。在High Availability配置中没有单点故障。如果某个特定节点出现故障,系统将通过剩余的冗余节点继续无缝地、透明地对其用户进行操作,而不会出现故障时间或整体系统性能的下降。
10.维护和监控
随着自动化软件交付系统的发展,生成的图像数量可能会迅速增长。如果没有适当的管理,您的系统很快就会被陈旧和不相干的映像堵塞。
Artifactory通过自动定时清理过程使您的系统保持有序,避免混乱。通过一些简单的设置,您可以安排任务来清理旧的构建和未使用的映像。可以设置磁盘空间限制并监测其使用,或定义“手表”,以便在最关键的图像发生更改时接收警报。通过广泛的REST API, Artifactory几乎可以支持您希望在组织中实现的任何基于规则的清理协议。
11.JFrog Enterprise+:一个适用于所有二进制文件的通用端到端解决方案
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任务控制中,作为企业+平台的一部分,用于测量、分析和优化分发流程。
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.

