第 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 风格的通配符来识别标签。如需更多信息,请参阅 通配符 文档。
- 当将存储库设置为 mirror 时,您无法手动将其他镜像添加到该存储库中。
- 由于已镜像的存储库基于您设置的存储库和标签,因此它将只保存由存储库和标签对表示的内容。例如,如果您更改了标签,以便存储库中的某些镜像不再匹配,则这些镜像将被删除。
- 只有指定的机器机器才能将镜像推送到已镜像的存储库,并取代存储库上设置的任何基于角色的访问控制权限。
- 镜像可以被配置为在失败时回滚,或者以 最佳为先运行。
- 使用已镜像的存储库时,具有读取权限 的用户可以从存储库拉取镜像,但不能将镜像推送到存储库。
-
可以使用您创建的镜像存储库的 Repositories
Mirrors 选项卡在 Red Hat Quay 用户界面中执行已镜像存储库的设置。 - 镜像以设定的间隔同步,但也可以根据需要同步。
6.1.2. 仓库镜像建议
存储库镜像的最佳实践包括:
- 仓库镜像 pod 可以在任何节点上运行。这意味着您可以在已在运行 Red Hat Quay 的节点上运行镜像。
- 存储库镜像调度到数据库中,并批量运行。因此,存储库 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 指南