5.5. 关于 oc-mirror 插件 v2 生成的自定义资源
oc-mirror 插件 v2 会自动生成以下自定义资源:
ImageDigestMirrorSet(IDMS)- 在使用镜像摘要拉取规格时处理 registry 镜像规则。如果至少一个镜像集的镜像由摘要镜像,则会生成。
ImageTagMirrorSet(ITMS)- 在使用镜像标签 pull 规格时处理 registry 镜像规则。如果至少通过标签对镜像集中的一个镜像进行镜像生成。
CatalogSource- 检索有关镜像 registry 中可用 Operator 的信息。由 Operator Lifecycle Manager (OLM) Classic 使用。
ClusterCatalog- 检索有关镜像 registry 中可用集群扩展(包括 Operator)的信息。由 OLM v1 使用。
UpdateService- 为断开连接的环境提供更新图形数据。由 OpenShift Update Service 使用。
5.5.1. 修改由 oc-mirror 插件生成的资源的限制 复制链接链接已复制到粘贴板!
当使用 oc-mirror 插件 v2 生成的资源来配置集群时,某些字段不能更改。修改这些字段可能会导致错误且不被支持。
下表列出了必须保持不变的资源及其字段:
| 资源 | 不能更改的字段 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
签名 |
|
|
|
|
有关这些资源的更多信息,请参阅 CatalogSource、ImageDigestMirrorSet 和 ImageTagMirrorSet 的 OpenShift API 文档。
5.5.2. 配置集群以使用 oc-mirror 插件 v2 生成的资源 复制链接链接已复制到粘贴板!
在将您的镜像集 mirror 到镜像 registry 后,您必须将生成的 ImageDigestMirrorSet (IDMS)、ImageTagMirrorSet (ITMS)、CatalogSource 和 UpdateService 资源应用到集群。
在 oc-mirror 插件 v2 中,IDMS 和 ITMS 文件涵盖了整个镜像集,这与 oc-mirror 插件 v1 中的 ImageContentSourcePolicy (ICSP)文件不同。因此,即使您仅在增量镜像过程中添加新镜像,IDMS 和 ITMS 文件还包含集合的所有镜像。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
-
以具有
cluster-admin角色的用户身份登录 OpenShift CLI。 运行以下命令,将结果目录中的 YAML 文件应用到集群:
oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resources
$ oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resourcesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果镜像(mirror)镜像,请运行以下命令将发行版本镜像签名应用到集群:
oc apply -f working-dir/cluster-resources/signature-configmap.json
$ oc apply -f working-dir/cluster-resources/signature-configmap.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果您要镜像 Operator 而不是集群,请不要运行前面的命令。运行命令会导致错误,因为没有要应用的发行镜像签名。
另外,在相同的目录
working-dir/cluster-resources/中提供了 YAML 文件。您可以使用 JSON 或 YAML 格式。
验证
运行以下命令验证
ImageDigestMirrorSet资源是否已成功安装:oc get imagedigestmirrorset
$ oc get imagedigestmirrorsetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要只查看
oc-mirror创建的资源,请运行以下命令:oc get imagedigestmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'$ oc get imagedigestmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证
ImageTagMirrorSet资源是否已成功安装:oc get imagetagmirrorset
$ oc get imagetagmirrorsetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要只查看
oc-mirror创建的资源,请运行以下命令:oc get imagetagmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'$ oc get imagetagmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证
CatalogSource资源是否已成功安装:oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要只查看
oc-mirror创建的资源,请运行以下命令:oc get catalogsource -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'$ oc get catalogsource -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证
ClusterCatalog资源是否已成功安装:oc get clustercatalog
$ oc get clustercatalogCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要只查看
oc-mirror创建的资源,请运行以下命令:oc get clustercatalog -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'$ oc get clustercatalog -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在将集群配置为使用 oc-mirror 插件 v2 生成的资源后,请参阅下一步以了解有关您可以使用 mirror 镜像执行的任务的信息。