5.4. 将镜像集镜像(mirror)到镜像 registry
将镜像集镜像到镜像 registry 可确保所需的镜像在安全且受控的环境中可用,从而促进平稳部署、更新和维护任务。
5.4.1. 创建镜像设置配置 复制链接链接已复制到粘贴板!
在使用 oc-mirror 插件 v2 mirror 镜像之前,必须先创建镜像设置配置文件。此镜像设置配置文件定义哪些 OpenShift Container Platform 发行版本、Operator 和其他要 mirror 的镜像,以及 oc-mirror 插件 v2 的其他配置设置。
先决条件
- 您已创建了容器镜像 registry 凭证文件。具体步骤,请参阅配置允许镜像镜像的凭证。
流程
创建
ImageSetConfiguration
YAML 文件,并进行修改使其包含所需的镜像。ImageSetConfiguration
YAML 文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将频道设置为从中检索 OpenShift Container Platform 镜像。
- 2
- 添加
graph: true
以构建并推送 graph-data 镜像推送到镜像 registry。创建 OpenShift Update Service (OSUS) 需要 graph-data 镜像。graph: true
字段还会生成UpdateService
自定义资源清单。oc
命令行界面 (CLI) 可以使用UpdateService
自定义资源清单来创建 OSUS。如需更多信息,请参阅关于 OpenShift Update Service。 - 3
- 将 Operator 目录设置为从中检索 OpenShift Container Platform 镜像。
- 4
- 仅指定要包含在镜像集中的某些 Operator 软件包。删除此字段以检索目录中的所有软件包。
- 5
- 指定要在镜像集中包含的任何其他镜像。
5.4.2. 在部分断开连接的环境中镜像设置的镜像 复制链接链接已复制到粘贴板!
您可以在带有受限互联网访问的环境中使用 oc-mirror 插件 v2 将镜像集镜像到 registry。
先决条件
- 在运行 oc-mirror 插件 v2 的环境中,您可以访问互联网和镜像 registry。
流程
运行以下命令,将指定镜像设置配置中的镜像镜像到指定的 registry:
oc mirror -c <image_set_configuration> --workspace file://<file_path> docker://<mirror_registry_url> --v2
$ oc mirror -c <image_set_configuration> --workspace file://<file_path> docker://<mirror_registry_url> --v2
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <image_set_configuration>
- 指定镜像设置配置文件的名称。
- <file_path>
- 指定生成集群资源的目录。
- <mirror_registry_url>
- 指定镜像存储并从中删除镜像 registry 的 URL 或地址。
验证
-
进入
<file_path>
目录中生成的working-dir/cluster-resources
目录。 -
验证
ImageDigestMirrorSet
、ImageTagMirrorSet
和CatalogSource
资源是否存在 YAML 文件。
后续步骤
- 配置集群以使用 oc-mirror 插件 v2 生成的资源。
5.4.3. 镜像在完全断开连接的环境中设置的镜像 复制链接链接已复制到粘贴板!
您可以在 OpenShift Container Platform 集群无法访问互联网的完全断开连接的环境中镜像镜像集。以下高级别工作流描述了镜像过程:
- Mirror to disk :将镜像集 mirror 到一个存档。
- Disk transfer :手动将存档传输到断开连接的镜像 registry 的网络。
- Disk to mirror: 将存档中的镜像集 mirror 到目标断开连接的 registry。
5.4.3.1. 从镜像镜像到磁盘 复制链接链接已复制到粘贴板!
您可以使用 oc-mirror 插件 v2 生成镜像集,并将内容保存到磁盘。之后,您可以将生成的镜像设置为断开连接的环境,并将其镜像到目标 registry。
oc-mirror 插件 v2 从镜像设置配置中指定的源中检索容器镜像,并将它们打包到本地目录中的 tar 存档中。
流程
运行以下命令,将指定镜像集配置中的镜像镜像到磁盘:
oc mirror -c <image_set_configuration> file://<file_path> --v2
$ oc mirror -c <image_set_configuration> file://<file_path> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <image_set_configuration>
- 指定镜像设置配置文件的名称。
- <file_path>
- 指定在其中生成包含镜像集的存档的目录。
验证
-
进入生成的
<file_path>
目录。 - 验证存档文件是否已生成。
后续步骤
- 从磁盘镜像到镜像
5.4.3.2. 从磁盘镜像到镜像 复制链接链接已复制到粘贴板!
您可以使用 oc-mirror 插件 v2 将磁盘中的镜像集镜像到目标镜像 registry。
oc-mirror 插件 v2 从本地磁盘检索容器镜像并将其传送到指定的镜像 registry。
流程
- 将包含 mirror 镜像集的磁盘传输到包含目标镜像 registry 的环境。
运行以下命令,处理磁盘上的镜像集文件,并将内容镜像到目标镜像 registry:
oc mirror -c <image_set_configuration> --from file://<file_path> docker://<mirror_registry_url> --v2
$ oc mirror -c <image_set_configuration> --from file://<file_path> docker://<mirror_registry_url> --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
- <image_set_configuration>
- 指定镜像设置配置文件的名称。
- <file_path>
- 指定包含存档的磁盘上的目录。此文件夹还包含您为集群生成的集群资源,如 ImageDigestMirrorSet (IDMS) 或 ImageTagMirrorSet (ITMS) 资源。
- <mirror_registry_url>
- 指定用于存储镜像的 mirror registry 的 URL 或地址。
验证
-
进入到
working-dir
中的cluster-resources
目录,它在<file_path>
目录中生成。 -
验证
ImageDigestMirrorSet
、ImageTagMirrorSet
和CatalogSource
资源是否存在 YAML 文件。
后续步骤
- 配置集群以使用 oc-mirror 插件 v2 生成的资源。