3.3. 填充私有自动化中(automation hub)容器 registry
默认情况下,私有自动化中心不包括自动化执行环境。要填充容器 registry,您必须将执行环境推送到其中。
您必须遵循特定的工作流来填充私有自动化中心远程 registry:
- 从红帽生态系统目录(registry.redhat.io)拉取自动化执行环境
- 标记它们
- 将其推送到私有自动化中心远程 registry
从 2025 年 4 月 1 日起, quay.io
正在添加三个额外的端点。因此,客户必须调整防火墙系统列表中的允许/块列表,使其包含以下端点:
-
cdn04.quay.io
-
cdn05.quay.io
-
cdn06.quay.io
为了避免拉取容器镜像出现问题,客户必须将出站 TCP 连接(端口 80 和 443)到以下主机名:
-
cdn.quay.io
-
cdn01.quay.io
-
cdn02.quay.io
-
cdn03.quay.io
-
cdn04.quay.io
-
cdn05.quay.io
-
cdn06.quay.io
此更改应针对用于启用到 registry.redhat.io
或 registry.access.redhat.com
的出站连接的任何防火墙配置进行修改。
在配置防火墙规则时使用主机名而不是 IP 地址。
完成此更改后,您可以继续从 registry.redhat.io
或 registry.access.redhat.com
拉取镜像。您不需要 quay.io
登录,或以任何方式直接与 quay.io
registry 交互,以继续拉取红帽容器镜像。
如需更多信息,请参阅容器镜像防火墙更改 2024/2025。
确保 Table 6.4 中列出的 网络端口和协议。执行环境(EE) 可用于避免拉取容器镜像的问题。
3.3.1. 拉取在自动化中心中使用的执行环境
在将执行环境推送到私有自动化中心之前,您必须首先从现有 registry 中拉取它们并标记它们以供使用。以下示例详细介绍了如何从红帽生态系统目录(registry.redhat.io)拉取执行环境。
先决条件
- 有从 registry.redhat.io 中拉取自动化执行环境的权限。
流程
使用您的 registry.redhat.io 凭证登录到 Podman:
$ podman login registry.redhat.io
- 输入您的用户名和密码。
拉取执行环境:
$ podman pull registry.redhat.io/<ee_name>:<tag>
验证
要验证您最近拉取的执行环境是否包含在列表中,请执行以下步骤:
列出本地存储中的镜像:
$ podman images
- 检查执行环境名称,并验证该标签是否正确。
其他资源
- 有关注册和获取执行环境的信息,请参阅 Red Hat Ecosystem Catalog Help。
3.3.2. 标记在自动化中心中使用的执行环境
从 registry 中拉取执行环境后,标记它们以便在私有自动化中心远程 registry 中使用。
前提条件
- 您已从外部 registry 拉取执行环境。
- 有自动化中心实例的 FQDN 或 IP 地址。
流程
使用自动化中心容器存储库标记本地执行环境:
$ podman tag registry.redhat.io/<ee_name>:<tag> <automation_hub_hostname>/<ee_name>
验证
列出本地存储中的镜像:
$ podman images
- 验证您最近使用自动化中心信息标记的执行环境是否包含在列表中。
3.3.3. 将执行环境推送到私有自动化中心
您可以将标记的执行环境推送到私有自动化中心,以创建新容器并填充远程 registry。
前提条件
- 有创建新容器的权限。
- 有自动化中心实例的 FQDN 或 IP 地址。
流程
使用您的自动化中心位置和凭证登录到 Podman:
$ podman login -u=<username> -p=<password> <automation_hub_url>
警告当您登录时,让 Podman 提示您输入密码。使用您的用户名同时输入密码,可以将您的密码公开给 shell 历史记录。
将执行环境推送到自动化中心远程 registry:
$ podman push <automation_hub_url>/<ee_name>
故障排除
push
操作会在上传期间重新编译镜像层,无法保证可重复生成,依赖于客户端实施。这可能会导致镜像层摘要的变化,并导致推送操作失败,Error: Copying this image requires changing layer representation, which is not possible (image is signed or the destination specifies a digest)
。
验证
- 登录到您的 Ansible Automation Platform。
-
导航到
。 - 在 container 存储库列表中找到容器。