第 6 章 使用 Red Hat Quay 发布内容
Red Hat Quay 中的内容发布功能包括:
6.1. 仓库镜像
Red Hat Quay 存储库镜像可让您将外部容器 registry 中的镜像(或另一个本地 registry)镜像到 Red Hat Quay 集群中。使用存储库镜像,您可以根据存储库名称和标签将镜像同步到 Red Hat Quay。
在启用了存储库镜像的 Red Hat Quay 集群中,您可以执行以下操作:
- 从外部 registry 选择要镜像的存储库
- 添加用于访问外部 registry 的凭证
- 识别特定容器镜像存储库名称和要同步的标签
- 设置同步存储库的间隔
- 检查同步的当前状态
要使用镜像功能,您需要执行以下操作:
- 在 Red Hat Quay 配置文件中启用存储库镜像
- 运行存储库镜像 worker
- 创建已镜像的存储库
所有存储库镜像配置都可以使用配置工具 UI 或 Red Hat Quay API 执行。
6.1.1. 使用存储库镜像
以下列表显示了 Red Hat Quay 存储库镜像的功能和限制:
- 通过存储库镜像,您可以镜像整个存储库,或有选择地限制同步哪些镜像。过滤器可以基于以逗号分隔的标签列表、一系列标签或其他方法通过 Unix shell 风格的通配符识别标签。如需更多信息,请参阅 通配符 文档。
- 当将存储库设置为镜像时,您无法手动将其他镜像添加到该存储库中。
- 由于已镜像的存储库基于您设置的存储库和标签,因此它将仅包含存储库和标签对代表的内容。例如,如果您更改了标签,以便存储库中的一些镜像不再匹配,则会删除这些镜像。
- 只有指定的机器人才能将镜像推送到已镜像的存储库,并取代存储库上设置的任何基于角色的访问控制权限。
- 镜像可以配置为在失败时回滚,或者以 最佳方式运行。
- 使用已镜像的存储库,具有读取权限 的用户可以从存储库拉取镜像,但不能将镜像推送到存储库。
-
可以使用您创建的已镜像存储库的 Repositories
Mirrors 选项卡在 Red Hat Quay 用户界面中更改已镜像存储库的设置。 - 镜像以设定的时间间隔同步,但也可以根据需要同步。
6.1.2. 仓库镜像建议
存储库镜像的最佳实践包括:
- 存储库镜像 pod 可以在任何节点上运行。这意味着您可以在已运行 Red Hat Quay 的节点上运行镜像(mirror)。
- 存储库镜像在数据库中调度,并批量运行。因此,存储库 worker 会检查每个存储库镜像配置文件,并在下一次同步需要时读取。更多镜像 worker 意味着可以同时镜像更多软件仓库。例如,运行 10 个镜像 worker 意味着用户可以并行运行 10 个镜像 Operator。如果用户只有 2 个带有 10 个镜像配置的 worker,则只能执行 2 个 operator。
镜像 pod 的最佳数量取决于以下条件:
- 要镜像的存储库总数
- 存储库中的镜像和标签数量以及更改的频率
并行批处理
例如,如果用户镜像有 100 个标签的存储库,则镜像将由一个 worker 完成。用户必须考虑要并行镜像多少个存储库,并以此为基础的 worker 数量。
同一存储库中的多个标签无法并行镜像。
6.1.3. 镜像的事件通知
存储库镜像有三个通知事件:
- 仓库镜像已启动
- 仓库镜像成功
- Repository Mirror Unsuccessful
事件可以在每个存储库的 Settings 选项卡中配置,并且支持电子邮件、Slack、Quay UI 和 Webhook 等所有现有通知方法。
6.1.4. 镜像 API
您可以使用 Red Hat Quay API 配置存储库镜像:
镜像 API
如需更多信息,请参阅 Red Hat Quay API 指南