4.6. 创建镜像设置配置
在使用 oc-mirror 插件镜像集之前,必须先创建镜像设置配置文件。此镜像设置配置文件定义哪些 OpenShift Container Platform 发行版本、Operator 和其他镜像要镜像,以及 oc-mirror 插件的其他配置设置。
您必须在镜像设置配置文件中指定存储后端。此存储后端可以是本地目录或支持 Docker v2-2 的 registry。oc-mirror 插件在创建镜像的过程中将元数据存储在这个存储后端中。
不要删除或修改 oc-mirror 插件生成的元数据。每次针对同一镜像 registry 运行 oc-mirror 插件时,都必须使用相同的存储后端。
先决条件
- 您已创建了容器镜像 registry 凭证文件。具体步骤,请参阅配置允许镜像镜像的凭证。
流程
使用
oc mirror init
命令为镜像设置配置创建模板,并将其保存到名为imageset-config.yaml
的文件中:$ oc mirror init --registry example.com/mirror/oc-mirror-metadata > imageset-config.yaml 1
- 1
- 将
example.com/mirror/oc-mirror-metadata
替换为存储后端的 registry 的位置。
编辑该文件并根据需要调整设置:
kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 archiveSize: 4 1 storageConfig: 2 registry: imageURL: example.com/mirror/oc-mirror-metadata 3 skipTLS: false mirror: platform: channels: - name: stable-4.13 4 type: ocp graph: true 5 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 6 packages: - name: serverless-operator 7 channels: - name: stable 8 additionalImages: - name: registry.redhat.io/ubi9/ubi:latest 9 helm: {}
- 1
- 添加
archiveSize
以设置镜像集合中的每个文件的最大大小(以 GiB 为单位)。 - 2
- 设置后端位置,以将镜像设置元数据保存到。此位置可以是 registry 或本地目录。必须指定
storageConfig
值。 - 3
- 设置存储后端的 registry URL。
- 4
- 将频道设置为从中检索 OpenShift Container Platform 镜像。
- 5
- 添加
graph: true
以构建并推送 graph-data 镜像推送到镜像 registry。创建 OpenShift Update Service (OSUS) 需要 graph-data 镜像。graph: true
字段还会生成UpdateService
自定义资源清单。oc
命令行界面 (CLI) 可以使用UpdateService
自定义资源清单来创建 OSUS。如需更多信息,请参阅关于 OpenShift Update Service。 - 6
- 将 Operator 目录设置为从中检索 OpenShift Container Platform 镜像。
- 7
- 仅指定要包含在镜像集中的某些 Operator 软件包。删除此字段以检索目录中的所有软件包。
- 8
- 仅指定要包含在镜像集中的 Operator 软件包的某些频道。即使您没有使用该频道中的捆绑包,还必须始终包含 Operator 软件包的默认频道。您可以运行以下命令来找到默认频道:
oc mirror list operators --catalog=<catalog_name> --package=<package_name>
。 - 9
- 指定要在镜像集中包含的任何其他镜像。
注意graph: true
字段还会镜像ubi-micro
镜像,以及其他镜像的镜像。当升级 OpenShift Container Platform 延长更新支持 (EUS) 版本时,在当前和目标版本之间可能需要一个中间版本。例如,如果当前版本是
4.14
,目标版本为4.16
,您可能需要在使用 oc-mirror 插件 v1 时在ImageSetConfiguration
中包含版本,如4.15.8
。oc-mirror 插件 v1 可能并不总是自动检测,因此请检查 Cincinnati 图形网页以确认任何所需的中间版本并手动添加到您的配置中。
如需完整的参数列表,请参阅 Image set configuration parameters;对于不同的镜像用例,请参阅 Image set configuration examples。
保存更新的文件。
在镜像内容时,
oc mirror
命令需要此镜像设置配置文件。