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 生成的资源来配置集群时,某些字段不能更改。修改这些字段可能会导致错误且不被支持。

下表列出了必须保持不变的资源及其字段:

Expand
表 5.1. 不得修改 oc-mirror 生成的资源中的字段
资源不能更改的字段

CatalogSource

apiVersion, kind, spec.image

ClusterCatalog

apiVersion, kind, spec.source.image.ref

ImageDigestMirrorSet

apiVersion, kind, spec.imageDigestMirrors

ImageTagMirrorSet

apiVersion, kind, spec.imageTagMirrors

签名 ConfigMap

apiVersion, kind, metadata.namespace, binaryData

UpdateService

apiVersion, kind, spec.graphDataImage, spec.releases

有关这些资源的更多信息,请参阅 CatalogSourceImageDigestMirrorSetImageTagMirrorSet 的 OpenShift API 文档。

在将您的镜像集 mirror 到镜像 registry 后,您必须将生成的 ImageDigestMirrorSet (IDMS)、ImageTagMirrorSet (ITMS)、CatalogSourceUpdateService 资源应用到集群。

重要

在 oc-mirror 插件 v2 中,IDMS 和 ITMS 文件涵盖了整个镜像集,这与 oc-mirror 插件 v1 中的 ImageContentSourcePolicy (ICSP)文件不同。因此,即使您仅在增量镜像过程中添加新镜像,IDMS 和 ITMS 文件还包含集合的所有镜像。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 以具有 cluster-admin 角色的用户身份登录 OpenShift CLI。
  2. 运行以下命令,将结果目录中的 YAML 文件应用到集群:

    $ oc apply -f <path_to_oc_mirror_workspace>/working-dir/cluster-resources
    Copy to Clipboard Toggle word wrap
  3. 如果镜像(mirror)镜像,请运行以下命令将发行版本镜像签名应用到集群:

    $ oc apply -f working-dir/cluster-resources/signature-configmap.json
    Copy to Clipboard Toggle word wrap
    重要

    如果您要镜像 Operator 而不是集群,请不要运行前面的命令。运行命令会导致错误,因为没有要应用的发行镜像签名。

    另外,在相同的目录 working-dir/cluster-resources/ 中提供了 YAML 文件。您可以使用 JSON 或 YAML 格式。

验证

  1. 运行以下命令验证 ImageDigestMirrorSet 资源是否已成功安装:

    $ oc get imagedigestmirrorset
    Copy to Clipboard Toggle word wrap

    要只查看 oc-mirror 创建的资源,请运行以下命令:

    $ oc get imagedigestmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令验证 ImageTagMirrorSet 资源是否已成功安装:

    $ oc get imagetagmirrorset
    Copy to Clipboard Toggle word wrap

    要只查看 oc-mirror 创建的资源,请运行以下命令:

    $ oc get imagetagmirrorset -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令验证 CatalogSource 资源是否已成功安装:

    $ oc get catalogsource -n openshift-marketplace
    Copy to Clipboard Toggle word wrap

    要只查看 oc-mirror 创建的资源,请运行以下命令:

    $ oc get catalogsource -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令验证 ClusterCatalog 资源是否已成功安装:

    $ oc get clustercatalog
    Copy to Clipboard Toggle word wrap

    要只查看 oc-mirror 创建的资源,请运行以下命令:

    $ oc get clustercatalog -o jsonpath='{.items[?(@.metadata.annotations.createdBy=="oc-mirror v2")].metadata.name}'
    Copy to Clipboard Toggle word wrap

在将集群配置为使用 oc-mirror 插件 v2 生成的资源后,请参阅下一步以了解有关您可以使用 mirror 镜像执行的任务的信息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat