Pulp 2.5 业已发布,包含了对 Docker 库的管理

  • Carlos Sanchez
  • 侯伯薇

2014 年 12 月 30 日

话题:DevOps

Pulp是一种程序库内容管理工具,它支持 RPM、Debian、Puppet 模块,现在还开始支持 Docker 库。该项目已经发布了2.5 版本,包含了一些缺陷修正,以及管理 Docker 库的新插件。

Pulp 是SysAdvent系列工具的组成部分,Justin Garrison已经介绍了如何用它来管理程序库。Pulp 使用导入程序(importers)来从外部源、本地文件系统和其他库来获取和同步内容,然后使用分发程序(distributors)通过 http、ISO、rsync 和其他方式来发布那些内容。它使用插件的形式来添加和扩展新的源以及格式。

Pulp 2.5.0 可以和pulp_docker一起使用,那是一种可选的插件,可以管理 Docker 库,但还处于技术预览的状态。该插件让我们可以在本地创建所有或者部分 Docker 库的镜像,把内容托管在新库中,然后在单独位置管理来自于多个源的内容,它包括以下特性:

  • 管理员界面(Pulp API)和终端用户界面(Docker)的分离
  • 通过 LDAP 的支持,实现基于角色的访问控制(RBAC)
  • 使用结点实现跨组织的内容同步
  • 通过用户自定义的环境——像 dev、test 或 prod——来推送内容
  • 通过 http、amqp 或 email 实现基于事件的通知
  • 对 Docker 注册 API 的只读实现,那可以单独部署

Pulp 可以作为虚拟机和 Docker 注册表功能一起部署,也可以作为 Docker 容器和Crane一起部署,或者仅用作一个多容器的环境。它还提供了Puppet 模块,用于在 RHEL 和 Fedora 中的安装和部署。

Pulp 组件包括:

  • Apache httpd:针对 API 和 http(s)发布的库的前端
  • Pulp Workers:针对长期运行任务——像库同步和发布——的进程。
  • Pulp CeleryBeat:维护 worker 和任务的取消操作
  • Pulp 资源管理器:负责为任务分配作业
  • MongoDB:存储库和内容的元数据值
  • Apache Qpid/RabbitMQ:针对作业分配的消息总线
  • pulp-admin:用来管理内容和消费程序的命令行工具。

所有组件都可以分发,以调整服务的规模。Pulp 服务器还可以完全或者部分地被其他服务器分发和复制,那可以跨父子节点关系的多个位置进行。

查看英文原文:Pulp 2.5 Released Including Docker Repository Management
DevOps