5.12. oc-mirror 插件 v2 的 imageset 配置参数


oc-mirror 插件 v2 需要一个镜像设置配置文件,该文件定义哪些镜像要镜像(mirror)。下表列出了 ImageSetConfiguration 资源的可用参数。

注意

使用 minVersionmaxVersion 属性过滤特定 Operator 版本范围可能会导致多个频道头错误。错误信息将显示有多个频道头。这是因为在应用过滤器时,Operator 的更新图会被截断。

OLM 要求每个 Operator 频道都包含组成一个更新图表的版本,它只有一个端点,即 Operator 的最新版本。在应用图形的过滤器范围时,可以进入两个或多个独立图形或具有多个端点的图形。

要避免这个错误,请不要过滤 Operator 的最新版本。如果您仍然遇到错误,具体取决于 Operator,则必须增加 maxVersion 属性,或者 minVersion 属性必须减少。因为每个 Operator 图都可以不同,所以您可能需要调整这些值,直到错误解决为止。

Expand
表 5.3. ImageSetConfiguration 参数
参数描述

apiVersion

ImageSetConfiguration 内容的 API 版本。

字符串示例: mirror.openshift.io/v2alpha1

archiveSize

镜像集中的每个存档文件的最大大小(以 GiB 为单位)。

整数示例:4

kubeVirtContainer

当设置为 true 时,包含来自 HyperShift KubeVirt CoreOS 容器的镜像。

ImageSetConfiguration 文件的布尔值示例:

apiVersion: mirror.openshift.io/v2alpha1
kind: ImageSetConfiguration
mirror:
  platform:
    channels:
    - name: stable-4.16
      minVersion: 4.16.0
      maxVersion: 4.16.0
    kubeVirtContainer: true
Copy to Clipboard Toggle word wrap

mirror

镜像集的配置。

对象

mirror.additionalImages

镜像集的额外镜像配置。

对象数组

Example:

additionalImages:
  - name: registry.redhat.io/ubi8/ubi:latest
Copy to Clipboard Toggle word wrap

mirror.additionalImages.name

要 mirror 的镜像的标签或摘要。

字符串示例:registry.redhat.io/ubi8/ubi:latest

mirror.blockedImages

用于阻止镜像(tag)或摘要(SHA)的镜像列表。

字符串数组示例:docker.io/library/alpine

mirror.helm

镜像集的 helm 配置。oc-mirror 插件不支持使用手动修改的 values.yaml 文件的 helm chart。

对象

mirror.helm.local

要镜像的本地 helm chart。

对象数组。例如:

local:
  - name: podinfo
    path: /test/podinfo-5.0.0.tar.gz
Copy to Clipboard Toggle word wrap

mirror.helm.local.charts.imagePaths

本地 helm chart 中容器镜像的自定义路径。

+

注意

oc-mirror 通过搜索已知的路径来检测并镜像 helm chart 中的容器镜像。您还可以使用此字段指定自定义路径。

+

注意

操作对象镜像在运行时由 Operator 控制器动态部署,通常由控制器部署模板中的环境变量引用。在 OpenShift Container Platform 4.20 之前,当 oc-mirror 可以访问这些环境变量时,它会尝试镜像所有值,包括非镜像引用,如日志级别,从而导致失败。在这个版本中,您只能镜像这些环境变量中引用的容器镜像。

字符串数组。例如:"- {.spec.template.spec.custom[*].image}"

mirror.helm.local.name

要镜像的本地 helm chart 的名称。

字符串.例如: podinfo

mirror.helm.local.path

到镜像的本地 helm chart 的路径。

字符串.例如: /test/podinfo-5.0.0.tar.gz

mirror.helm.repositories

从其中镜像的的远程 helm 软件仓库。

对象数组。例如:

repositories:
  - name: podinfo
    url: https://example.github.io/podinfo
    charts:
      - name: podinfo
        version: 5.0.0
         imagePaths:
         - "{.spec.template.spec.custom[*].image}"
Copy to Clipboard Toggle word wrap

mirror.helm.repositories.name

从其中镜像(mirror)的 helm 存储库的名称。

字符串.例如: podinfo

mirror.helm.repositories.url

从其中镜像(mirror)的 helm 存储库的 URL。

字符串.例如: https://example.github.io/podinfo

mirror.helm.repositories.charts

要镜像的远程 helm chart。

对象数组。

mirror.helm.repositories.charts.name

要镜像的 helm chart 的名称。

字符串.例如: podinfo

mirror.helm.repositories.charts.imagePaths

helm chart 中容器镜像的自定义路径。

+

注意

oc-mirror 通过搜索已知的路径来检测并镜像 helm chart 中的容器镜像。您还可以使用此字段指定自定义路径。

+

注意

操作对象镜像在运行时由 Operator 控制器动态部署,通常由控制器部署模板中的环境变量引用。在 OpenShift Container Platform 4.20 之前,当 oc-mirror 可以访问这些环境变量时,它会尝试镜像所有值,包括非镜像引用,如日志级别,从而导致失败。在这个版本中,您只能镜像这些环境变量中引用的容器镜像。

字符串数组。例如:"- {.spec.template.spec.custom[*].image}"

mirror.operators

镜像集的 Operator 配置。

对象数组

Example:

operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:4.20
    packages:
      - name: elasticsearch-operator
        minVersion: '2.4.0'
Copy to Clipboard Toggle word wrap

mirror.operators.catalog

包括在镜像集中的 Operator 目录。

字符串示例: registry.redhat.io/redhat/redhat-operator-index:v4.15

mirror.operators.full

true 时,下载完整的目录、Operator 软件包或 Operator 频道。

布尔值,默认值为 false

mirror.operators.packages

Operator 软件包配置。

对象数组

Example:

operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:4.20
    packages:
      - name: elasticsearch-operator
        minVersion: '5.2.3-31'
Copy to Clipboard Toggle word wrap

mirror.operators.packages.name

镜像集中要包含的 Operator 软件包名称。

字符串示例:elasticsearch-operator

mirror.operators.packages.channels

Operator 软件包频道配置

对象

mirror.operators.packages.channels.name

Operator 频道名称(软件包中唯一)要包括在镜像集中。

字符串示例:faststable-v4.15

mirror.operators.packages.channels.maxVersion

Operator 镜像的最高版本,在其中存在所有频道。

字符串示例:5.2.3-31

mirror.operators.packages.channels.minVersion

Operator 的最低版本,用于镜像存在的所有频道

字符串示例:5.2.3-31

mirror.operators.packages.maxVersion

Operator 最高版本,可跨所有存在的频道进行镜像。

字符串示例:5.2.3-31

mirror.operators.packages.minVersion

Operator 的最低版本,用于镜像存在的所有频道。

字符串示例:5.2.3-31

mirror.operators.targetCatalog

将引用的目录镜像为的替代名称和可选命名空间层次结构

字符串示例:my-namespace/my-operator-catalog

mirror.operators.targetCatalogSourceTemplate

用于完成 oc-mirror 插件 v2 生成的 catalogSource 自定义资源的模板的路径。

字符串示例:/tmp/catalog-source_template.yaml 模板文件示例:

apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: discarded
  namespace: openshift-marketplace
spec:
  image: discarded
  sourceType: grpc
  updateStrategy:
    registryPoll:
      interval: 30m0s
Copy to Clipboard Toggle word wrap

mirror.operators.targetTag

附加到 targetNametargetCatalog 的替代标签。

字符串示例:v1

mirror.platform

镜像集的平台配置。

对象

mirror.platform.architectures

要镜像的平台发行版本有效负载的架构。

字符串数组示例:

architectures:
  - amd64
  - arm64
  - multi
  - ppc64le
  - s390x
Copy to Clipboard Toggle word wrap

默认值为 amd64。值 multi 确保镜像支持所有可用架构,无需指定单个架构。

mirror.platform.channels

镜像集的平台频道配置。

对象数组示例:

channels:
  - name: stable-4.12
  - name: stable-4.20
Copy to Clipboard Toggle word wrap

mirror.platform.channels.full

true 时,将 minVersion 设置为频道中的第一个发行版本,将 maxVersion 设置为该频道的最后一个发行版本。

布尔值,默认为 false

mirror.platform.channels.name

版本频道的名称

字符串示例:stable-4.15

mirror.platform.channels.minVersion

要镜像引用的平台的最低版本。

字符串示例:4.12.6

mirror.platform.channels.maxVersion

要镜像引用的平台的最高版本。

字符串示例:4.15.1

mirror.platform.channels.shortestPath

切换最短的路径镜像或完整范围镜像。

布尔值,默认为 false

mirror.platform.channels.type

要镜像的平台的类型

字符串示例:ocpokd。默认为 ocp

mirror.platform.graph

指明是否将 OSUS 图表添加到镜像集中,然后发布到镜像。

布尔值,默认为 false

mirror.operators.packages.defaultChannel

在从过滤中排除默认频道时,必须定义。

对象数组。例如:

 mirror:
  operators:
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.20
      packages:
        - name: rhods-operator
          defaultChannel: fast
          channels:
            - name: fast
Copy to Clipboard Toggle word wrap

5.12.1. DeleteImageSetConfiguration 参数

要将删除镜像与 oc-mirror 插件 v2 搭配使用,您必须使用 DeleteImageSetConfiguration.yaml 配置文件来定义要从镜像 registry 中删除哪些镜像。下表列出了 DeleteImageSetConfiguration 资源的可用参数。

Expand
表 5.4. DeleteImageSetConfiguration 参数
参数描述

apiVersion

DeleteImageSetConfiguration 内容的 API 版本。

字符串示例: mirror.openshift.io/v2alpha1

delete

镜像集要删除的配置。

对象

delete.additionalImages

删除镜像集的额外镜像配置。

对象数组示例:

additionalImages:
  - name: registry.redhat.io/ubi8/ubi:latest
Copy to Clipboard Toggle word wrap

delete.additionalImages.name

要删除的镜像的标签或摘要。

字符串示例:registry.redhat.io/ubi8/ubi:latest

delete.operators

删除镜像集的 Operator 配置。

对象数组示例:

operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version}
    packages:
      - name: elasticsearch-operator
        minVersion: '2.4.0'
Copy to Clipboard Toggle word wrap

delete.operators.catalog

要在 delete 镜像集中包含的 Operator 目录。

字符串示例: registry.redhat.io/redhat/redhat-operator-index:v4.15

delete.operators.full

如果为 true,则删除完整目录、Operator 软件包或 Operator 频道。

布尔值,默认为 false

delete.operators.packages

Operator 软件包配置

对象数组示例:

operators:
  - catalog: registry.redhat.io/redhat/redhat-operator-index:{product-version}
    packages:
      - name: elasticsearch-operator
        minVersion: '5.2.3-31'
Copy to Clipboard Toggle word wrap

delete.operators.packages.name

要在 delete 镜像集中包含的 Operator 软件包名称。

字符串示例:elasticsearch-operator

delete.operators.packages.channels

Operator 软件包频道配置

对象

delete.operators.packages.channels.name

Operator 频道名称(在软件包中是唯一的)包括在 delete 镜像集中。

字符串示例: faststable-v4.15

delete.operators.packages.channels.maxVersion

在所选频道中删除的 Operator 的最高版本。

字符串示例:5.2.3-31

delete.operators.packages.channels.minVersion

在存在的选择中删除 Operator 的最低版本。

字符串示例:5.2.3-31

delete.operators.packages.maxVersion

在存在的所有频道中删除 Operator 的最高版本。

字符串示例:5.2.3-31

delete.operators.packages.minVersion

在存在的所有频道中删除 Operator 的最低版本。

字符串示例:5.2.3-31

delete.platform

镜像集的平台配置

对象

delete.platform.architectures

要删除的平台发行版本有效负载的架构。

字符串数组示例:

architectures:
  - amd64
  - arm64
  - multi
  - ppc64le
  - s390x
Copy to Clipboard Toggle word wrap

默认值为 amd64

delete.platform.channels

镜像集的平台频道配置。

对象数组

Example:

channels:
  - name: stable-4.12
  - name: stable-4.20
Copy to Clipboard Toggle word wrap

delete.platform.channels.full

true 时,将 minVersion 设置为频道中的第一个发行版本,将 maxVersion 设置为该频道的最后一个发行版本。

布尔值,默认为 false

delete.platform.channels.name

版本频道的名称

字符串示例:stable-4.15

delete.platform.channels.minVersion

要删除的引用平台的最低版本。

字符串示例:4.12.6

delete.platform.channels.maxVersion

要删除的引用平台的最高版本。

字符串示例:4.15.1

delete.platform.channels.shortestPath

在删除最短路径并删除完整范围之间切换。

布尔值,默认为 false

delete.platform.channels.type

要删除的平台的类型

字符串示例:ocpokd。默认为 ocp

delete.platform.graph

确定是否在镜像 registry 上也删除 OSUS 图形。

布尔值,默认为 false

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat