用开源工具 Pulp 管理你的软件仓库

文章插图
这篇文章介绍 Pulp,一个开源仓库管理解决方案,它的使用范围和功能在不断增长 。• 来源:linux.cn • 作者:Melanie Corr • 译者:geekpi •
(本文字数:2407,阅读时长大约:4 分钟)
Foreman 是一个强大的管理和自动化产品,它为 Linux 环境的管理员提供了企业级的解决方案,它适用于四个关键场景:供应管理、配置管理、补丁管理和内容管理 。Foreman 中内容管理功能的一个主要组成部分是由 Pulp 项目提供的 。虽然 Pulp 是这个产品的一个组成部分,但它也是一个独立的、自由开源的项目,自身也在取得巨大的进步 。
让我们来看看 Pulp 项目,特别是最新版本 Pulp 3 的功能 。
什么是 Pulp?Pulp 是一个管理软件包仓库,并将其提供给大量的消费者的平台 。你可以使用 Pulp 在不同环境中镜像、同步、上传和推广各种内容,如 RPM、Python 包、Ansible 集合、容器镜像等 。如果你有几十个、几百个甚至上千个软件包,并需要更好的方式来管理它们,Pulp 可以帮助你 。
最新的主要版本是 Pulp 3,它于 2019 年 12 月发布 。Pulp 3 是多年来收集用户需求的结晶,并对现有的 Pulp 架构进行了全面的技术改造,以提高可靠性和灵活性 。另外,它还包含了大量的新功能 。
谁在使用 Pulp?大多数情况下,在 Pulp 用户管理的企业软件环境中,内容的稳定性和可靠性是最重要的 。Pulp 用户希望有一个平台来开发内容,而不用担心仓库可能会消失 。他们希望以安全的方式在其生命周期环境的不同阶段推广内容,优化磁盘空间并扩展环境以满足新的需求 。他们还需要灵活处理各种内容类型 。Pulp 3 提供了这些以及更多功能 。
在一处管理各类内容安装 Pulp 后,你可以为你计划管理的内容类型添加 内容插件,将内容镜像到本地,添加私人托管的内容,并根据你的需求混合内容 。例如,如果你是 Ansible 用户,而你又不想在 Ansible Galaxy 上托管你的私有内容,你可以添加 Pulp Ansible 插件,镜像你所需要的公共 Ansible 内容,并将 Pulp 作为一个内部平台,在你的组织中管理和分发可扩展的公共和私有 Ansible 角色和集合的混合 。你可以用任何内容类型执行此操作 。有各种各样的内容插件可供选择,包括 RPM、Debian、Python、容器和 Ansible 等等 。还有一个文件插件,你可以用它来管理 ISO 镜像等文件 。
如果你没有找到你所需的内容类型插件,Pulp 3 引入了新的插件 API 和插件模板,你可以轻松创建一个属于自己的 Pulp 插件 。你可以根据 插件编写指南 自动生成一个最小可用的插件,然后从那里开始构建 。
高可用性在 Pulp 3 中,从 MongoDB 到 PostgreSQL 的转变促进了性能和数据完整性的重大改进 。Pulp 用户现在有了一个完全开源的技术栈,它可以提供高可用性(HA)和更好的扩展性 。
仓库版本管理使用 Pulp 3,你可以毫无风险地进行试验 。每次你添加或删除内容时,Pulp 都会创建一个不可变的仓库版本,这样你就可以回滚到早期的版本,从而保证操作的安全性和稳定性 。通过使用发布和分发,你可以公开一个仓库的多个版本,你可以将其作为回滚到早期版本的另一种方法 。如要回滚,你可以简单地将你的分发指向一个旧的发布 。
磁盘优化任何软件开发环境的主要挑战之一是磁盘优化 。如果你不断地下载包,例如,你今天需要但明天不再需要的仓库每日构建,那么磁盘空间将很快成为一个问题 。Pulp 3 的设计已经考虑到了磁盘优化 。当默认下载并保存所有的软件包,你也可以启用“按需”或“流式”选项 。“按需”选项只下载和保存客户要求的内容,从而节省了磁盘空间 。使用“流式”选项,它也会根据客户的要求进行下载,但它不会将内容保存在 Pulp 中 。这对于同步内容是非常理想的,例如,从一个每日仓库同步,并让你在后期免于执行磁盘清理 。
多种存储选项即使进行了最好的磁盘优化,随着项目的发展,你可能需要一种方法来扩展你的部署以满足需求 。除了本地文件存储,Pulp 还支持一系列的云存储选项,如 Amazon S3 和 Azure,以确保你可以扩展满足你的部署需求 。
保护你的内容Pulp 3 可以选择添加 Certguard 插件,该插件提供了一个支持 X.509 的 ContentGuard,它要求客户在收到 Pulp 的内容之前提交证明其对内容的权利的证书 。
只要客户端的证书没有过期,且由证书颁发机构签署,并在创建时存储在 Certguard 上,任何客户端在请求时提供基于 X.509 或基于 Red Hat 订阅管理证书都将获得授权 。客户端使用安全传输层(TLS)提供证书,这证明客户端不仅有证书,还有它的密钥 。你可以放心地开发,知道你的内容正在受到保护 。
推荐阅读
- 喝速溶茶有没有副作用,喝荷叶茶有没有副作用呢
- 黑糯茶的功效与作用,糯香普洱茶的功效与作用
- 金银花露不能连续服用,金银花茶的保留先容
- 一款免费的数据库工具,比Navicat还要好用,功能还很强大
- 太厉害了!这应该是目前Redis可视化工具最全的横向评测
- 如何用DL4J构建起一个人脸识别系统
- Online DDL 工具 pt-osc
- Java性能调优:JVM性能监控常用方法
- 不同朝向住宅的客厅用什么颜色好?
- 客厅的屏风有什么风水用途?