使用 Pulp 托管容器注册表的 5 个理由

使用 Pulp 托管您自己的容器注册表有很多令人信服的理由。以下是一些理由。
80 位读者喜欢这个。
Creating a reproducible build system for Docker images

Håkan Dahlström。CC BY-SA 4.0

Linux 容器大大简化了软件分发。将应用程序与其运行所需的一切打包在一起的能力,有助于提高环境的稳定性和可重复性。

虽然有许多公共注册表可供您上传、管理和分发容器镜像,但也有许多令人信服的理由支持托管您自己的容器注册表。让我们看看自行托管有意义的原因,以及免费和开源项目 Pulp 如何帮助您在本地环境中管理和分发容器。

为什么要托管您自己的容器注册表

您可能考虑托管自己的容器注册表有很多原因

  • 大小: 有些容器镜像非常大。如果您有多个团队下载相同的镜像,则可能需要大量时间,并给您的网络和预算都带来压力。
  • 带宽: 如果您在带宽有限的地区工作,或者在出于安全原因限制访问互联网的组织中工作,则需要一种可靠的方式来管理您使用的容器。
  • 金钱: 服务条款可能会更改。外部容器注册表可能会引入或提高速率限制阈值,这可能会对您的运营造成过度的限制。
  • 稳定性: 托管在外部来源的容器镜像可能会因为多种原因而在一夜之间消失。您依赖的容器镜像的更新之类的小事可能会引入您想要避免的重大更改。
  • 隐私: 您可能还想开发和分发您不想托管在公共第三方注册表中的容器。

使用 Pulp 进行自行托管

使用 Pulp,您可以避免这些问题,并完全控制您的容器。

1. 避免速率限制

在 Pulp 中创建容器镜像的本地缓存,允许您组织中的每个人从 Pulp 而不是从外部注册表拉取容器镜像。这意味着您可以避免速率限制,并且仅在需要新内容时才从外部注册表同步。每当您确实需要从外部注册表同步容器时,Pulp 首先会检查内容是否已存在,然后再启动从远程注册表的同步。如果您受到注册表速率限制的约束,您只需镜像您需要的内容,然后使用 Pulp 在您的组织中分发它。

2. 管理您的容器

使用 Pulp,您可以创建一个存储库,然后从任何与 Docker Registry HTTP API V2 兼容的注册表镜像和同步容器。这包括 Docker、Google Container Registry、Quay.io 以及更多,包括另一个 Pulp 服务器。您可以随意组合从不同注册表镜像的容器,没有任何限制或约束。您可以自由混合来自不同来源的容器。这使您可以管理一组公共和私有容器,以满足您的确切要求。

3. 无风险地进行实验

在 Pulp 中,每次您更改存储库时,都会创建一个新的不可变版本。您可以创建存储库的多个版本,例如开发、测试、暂存生产,并在它们之间提升容器。您可以自由地将容器镜像的最新更新从外部注册表同步到 Pulp,然后使最新的更改可供开发或其他环境使用。您可以对您认为必要的存储库进行任何更改,并将容器内容提升为供测试团队或其他环境使用。如果出现问题,您可以回滚到早期版本。

4. 仅同步您需要的内容

如果您想使用 Pulp 创建容器子集的本地缓存,而不是完整的容器注册表,您可以从远程源过滤选择容器。借助 Pulp,有多种内容同步选项,以便您仅存储您需要的内容,或配置您的部署以按需缓存内容。

5. 在断开连接和气隙环境中工作

如果您在断开连接或受限的环境中工作,您可以将更新从连接的 Pulp 实例同步到断开连接的 Pulp。目前,有计划为 Pulp 实施原生气隙功能,以方便完全断开连接的工作流程。同时,作为一种解决方法,您可以使用 Skopeo 等工具下载您需要的容器镜像,然后将它们推送到您断开连接的 Pulp 容器注册表。

还有更多!

使用 Pulp,您还可以从 Containerfile 构建容器、将私有容器推送到存储库,并在您的组织中分发这些容器。我们将在以后的文章中介绍此工作流程。

如何开始

如果您有兴趣自行托管您的容器注册表,您可以立即安装 Pulp。借助 Pulp Ansible 安装程序的添加,安装过程已得到高度自动化和简化。

Pulp 具有基于插件的架构。当您安装 Pulp 时,请选择容器插件以及您想要管理的任何其他类型的内容插件。如果您希望试用 Pulp,您可以立即评估容器化的 Pulp 版本。

如果您有任何问题或意见,请随时通过 Freenode IRC 上的 #pulp 频道与我们联系,我们很乐意在我们的邮件列表 pulp-list@redhat.com 上解答问题。

接下来阅读什么
User profile image.
我帮助 Foreman 和 Pulp 社区。我喜欢写作和鸟类。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.