$ oc adm release mirror
您可以使用镜像注册表进行脱机安装,并确保您的集群仅使用满足您组织对外部内容控制的容器镜像。在您在脱机环境中配置的基础架构上安装集群之前,必须将所需的容器镜像镜像到该环境中。要镜像容器镜像,您必须拥有一个用于镜像的注册表。
要将镜像镜像用于基于代理的安装程序的脱机安装,您必须修改 `install-config.yaml` 文件。
您可以使用 `oc adm release mirror` 或 `oc mirror` 命令的输出镜像发布镜像。这取决于您用于设置镜像注册表的命令。
`oc adm release mirror` 命令的示例输出
$ oc adm release mirror
To use the new mirrored repository to install, add the following
section to the install-config.yaml:
imageContentSources:
mirrors:
virthost.ostest.test.metalkube.org:5000/localimages/local-release-image
source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
mirrors:
virthost.ostest.test.metalkube.org:5000/localimages/local-release-image
source: registry.ci.openshift.org/ocp/release
以下示例显示了由 oc-mirror 插件生成的 `imageContentSourcePolicy.yaml` 文件的一部分。该文件可以在结果目录中找到,例如 `oc-mirror-workspace/results-1682697932/`。
spec:
repositoryDigestMirrors:
- mirrors:
- virthost.ostest.test.metalkube.org:5000/openshift/release
source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
- mirrors:
- virthost.ostest.test.metalkube.org:5000/openshift/release-images
source: quay.io/openshift-release-dev/ocp-release
您必须使用 `oc adm release mirror` 命令或 oc-mirror 插件的输出来配置基于代理的安装程序以使用镜像镜像。
如果您使用 oc-mirror 插件来镜像您的发布镜像
打开位于结果目录中的 `imageContentSourcePolicy.yaml`,例如 `oc-mirror-workspace/results-1682697932/`。
复制 yaml 文件 `repositoryDigestMirrors` 部分中的文本。
如果您使用 `oc adm release mirror` 命令来镜像您的发布镜像
复制命令输出 `imageContentSources` 部分中的文本。
将复制的文本粘贴到 `install-config.yaml` 文件的 `imageContentSources` 字段中。
将用于镜像注册表的证书文件添加到 yaml 文件的 `additionalTrustBundle` 字段中。
该值必须是您用于镜像注册表的证书文件的内容。证书文件可以是现有的受信任证书颁发机构,也可以是您为镜像注册表生成的自签名证书。 |
additionalTrustBundle: |
-----BEGIN CERTIFICATE-----
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
-----END CERTIFICATE-----
如果您使用 GitOps ZTP 清单:将 `registries.conf` 和 `ca-bundle.crt` 文件添加到 `mirror` 路径以在代理 ISO 镜像中添加镜像配置。
您可以根据 `oc adm release mirror` 命令或 `oc mirror` 插件的输出创建 `registries.conf` 文件。`/etc/containers/registries.conf` 文件的格式已更改。它现在是版本 2 并且采用 TOML 格式。 |
[[registry]]
location = "registry.ci.openshift.org/ocp/release" mirror-by-digest-only = true
[[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"
[[registry]]
location = "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirror-by-digest-only = true
[[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"