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 mirror 复选框。如果您要在镜像过程中需要 HTTPS 通信并验证证书,请选择 HTTPS 和证书验证复选框。
-
验证并下载
配置文件,然后使用更新的 配置文件在 registry 模式中重启 Quay。
3.3.3. 镜像 worker 复制链接链接已复制到粘贴板!
使用以下步骤启动存储库镜像 worker。
流程
如果您还没有使用
/root/ca.crt证书配置 TLS 通信,请输入以下命令来使用repomirror选项启动Quaypod:sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.8.15 repomirror
$ sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.8.15 repomirrorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用
/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.8.15 repomirror
$ 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.8.15 repomirrorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. 创建已镜像的存储库 复制链接链接已复制到粘贴板!
从外部容器 registry 镜像存储库时,您必须创建一个新的私有存储库。通常,名称与目标存储库相同,如 quay-rhel8。
3.3.4.1. 存储库镜像设置 复制链接链接已复制到粘贴板!
使用以下步骤调整已镜像存储库的设置。
前提条件
- 您已在 Red Hat Quay 配置文件中启用了存储库镜像。
- 您已部署了镜像 worker。
流程
在 Settings 选项卡中,将 Repository State 设置为
Mirror:
在 Mirror 选项卡中,输入连接到外部 registry 的详情,以及标签、调度和访问信息:
在以下字段中输入所需详情:
-
registry Location: 您要镜像的外部存储库,如
registry.redhat.io/quay/quay-rhel8 - tags: 此字段是必需的。您可以输入以逗号分隔的单个标签或标签模式列表。(请参阅 标签模式 部分了解详细信息。)
- 开始日期: 镜像开始的日期。默认使用当前的日期和时间。
- 同步间隔: 默认每隔 24 小时同步一次。您可以按小时或天更改它。
- 机器人用户: 创建新的机器人帐户或选择一个现有的机器人帐户来开展镜像。
- Username: 用于访问包含您要镜像存储库的外部 registry 的用户名。
- Password: 与 Username 关联的密码。请注意,密码不能包含需要转义字符(\)的字符。
-
registry Location: 您要镜像的外部存储库,如
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 | Description |
| * | 匹配所有字符 |
| ? | 匹配任何单个字符 |
| [seq] | 匹配 seq中的任何字符 |
| [!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 |