3.3. 存储库镜像
3.3.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 执行。
3.3.2. 镜像配置 UI
以配置模式启动
Quay
容器,再选中 Enable Repository Mirroring 复选框。如果要要求 HTTPS 通信并在镜像过程中验证证书,请选择 HTTPS 和证书验证复选框。-
验证并下载
配置文件
,然后使用更新的配置文件在 registry 模式中重新启动 Quay。
3.3.3. 镜像 worker
使用以下步骤启动存储库镜像 worker。
流程
如果您还没有使用
/root/ca.crt
证书配置 TLS 通信,请输入以下命令以使用repomirror
选项启动Quay
pod:$ sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.9.0 repomirror
如果您使用
/root/ca.crt
证书配置了 TLS 通信,请输入以下命令来启动存储库镜像 worker:$ sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ -v /root/ca.crt:/etc/pki/ca-trust/source/anchors/ca.crt:Z \ registry.redhat.io/quay/quay-rhel8:v3.9.0 repomirror
3.3.4. 创建已镜像的存储库
从外部容器 registry 镜像存储库时,您必须创建一个新的私有存储库。通常,名称与目标存储库相同,如 quay-rhel8
。
3.3.4.1. 存储库镜像设置
使用以下步骤调整已镜像存储库的设置。
先决条件
- 您已在 Red Hat Quay 配置文件中启用了存储库镜像。
- 您已部署了镜像 worker。
流程
在 Settings 选项卡中,将 Repository State 设置为
Mirror
:在 Mirror 选项卡中,输入连接到外部 registry 的详情,以及标签、调度和访问信息:
在以下字段中输入详情:
-
registry 位置: 您要镜像的外部存储库,如
registry.redhat.io/quay/quay-rhel8
- tags: 此字段是必需的。您可以输入以逗号分隔的各个标签或标签模式列表。(详情请参阅 Tag Patterns 部分。)
- 开始日期: 镜像开始的日期。默认使用当前的日期和时间。
- 同步间隔 : 默认为每 24 小时同步一次。您可以根据小时或天更改。
- robot User: 创建一个新的机器人帐户,或选择一个现有的机器人帐户来进行镜像。
- 用户名 : 用于访问您要镜像的存储库的外部 registry 的用户名。
- Password : 与用户名关联的密码。请注意,密码不能包含需要转义字符(\)的字符。
-
registry 位置: 您要镜像的外部存储库,如
3.3.4.2. 高级设置
在 Advanced Settings 部分中,您可以使用以下选项配置 SSL/TLS 和代理:
- 验证 TLS: 如果您需要 HTTPS,并在与目标远程 registry 通信时验证证书,请选择这个选项。
- 接受未签名的镜像 : 选择这个选项允许镜像未签名的镜像。
- HTTP Proxy: 如果您需要 HTTPS,并在与目标远程 registry 通信时验证证书,请选择这个选项。
- https PROXY: 如果需要代理服务器,请识别访问远程站点所需的 HTTPS 代理服务器。
- 无代理: 不需要代理的位置列表。
3.3.4.3. 现在同步
使用以下步骤启动镜像操作。
流程
要执行即时镜像操作,请按存储库镜像选项卡上的 Sync Now 按钮。日志在 Usage Logs 标签页中可用:
镜像完成后,镜像将显示在 Tags 选项卡中:
以下是已完成的仓库镜像屏幕示例:
3.3.5. 镜像标签模式
必须至少输入一个标签。下表引用可能的镜像标签模式。
3.3.5.1. 模式语法
pattern | 描述 |
* | 匹配所有字符 |
? | 匹配任何单个字符 |
[seq] | 匹配顺序中 的任何字符 |
[!seq] | 匹配任何不在顺序 中的字符 |
3.3.5.2. 标签模式示例
Pattern 示例 | 匹配示例 |
v3* | v32, v3.1, v3.2, v3.2-4beta, v3.3 |
v3.* | v3.1、v3.2、v3.2-4beta |
v3.? | v3.1, v3.2, v3.3 |
v3.[12] | v3.1, v3.2 |
v3.[12]* | v3.1、v3.2、v3.2-4beta |
v3.[!1]* | v3.2, v3.2-4beta, v3.3 |