4.7. 自定义默认 Operator 镜像


注意

目前,IBM Power 和 IBM Z 不支持自定义默认 Operator 镜像。

在某些情况下,覆盖 Red Hat Quay Operator 使用的默认镜像可能很有用。这可以通过在 Red Hat Quay Operator ClusterServiceVersion 中设置一个或多个环境变量来完成。

重要

生产环境 Red Hat Quay 环境不支持使用这个机制,并强烈建议只用于开发或测试目的。当将非默认镜像与 Red Hat Quay Operator 搭配使用时,不能保证您的部署可以正常工作。

4.7.1. 环境变量

Red Hat Quay Operator 中使用以下环境变量来覆盖组件镜像:

Expand

环境变量

组件

RELATED_IMAGE_COMPONENT_QUAY

base

RELATED_IMAGE_COMPONENT_CLAIR

clair

RELATED_IMAGE_COMPONENT_POSTGRES

Postgresclair 数据库

RELATED_IMAGE_COMPONENT_REDIS

redis

注意

覆盖的镜像 必须由 清单(@sha256:)引用,而不是通过标签(:latest)引用。

4.7.2. 将覆盖应用到正在运行的 Operator

通过 Operator Lifecycle Manager (OLM) 在集群中安装 Red Hat Quay Operator 时,可通过修改 ClusterServiceVersion 对象来轻松覆盖受管组件容器镜像。

使用以下步骤将覆盖应用到正在运行的 Red Hat Quay Operator。

流程

  1. ClusterServiceVersion 对象是集群中正在运行的 Operator 的 Operator Lifecycle Manager 表示。使用 Kubernetes UI 或 kubectl/oc CLI 工具查找 Red Hat Quay Operator 的 ClusterServiceVersion。例如:

    $ oc get clusterserviceversions -n <your-namespace>
    Copy to Clipboard Toggle word wrap
  2. 使用 UI、oc edit 或其它方法修改 Red Hat Quay ClusterServiceVersion,使其包含上面概述的环境变量以指向覆盖镜像:

    JSONPath: spec.install.spec.deployments[0].spec.template.spec.containers[0].env

    - name: RELATED_IMAGE_COMPONENT_QUAY
      value: quay.io/projectquay/quay@sha256:c35f5af964431673f4ff5c9e90bdf45f19e38b8742b5903d41c10cc7f6339a6d
    - name: RELATED_IMAGE_COMPONENT_CLAIR
      value: quay.io/projectquay/clair@sha256:70c99feceb4c0973540d22e740659cd8d616775d3ad1c1698ddf71d0221f3ce6
    - name: RELATED_IMAGE_COMPONENT_POSTGRES
      value: centos/postgresql-10-centos7@sha256:de1560cb35e5ec643e7b3a772ebaac8e3a7a2a8e8271d9e91ff023539b4dfb33
    - name: RELATED_IMAGE_COMPONENT_REDIS
      value: centos/redis-32-centos7@sha256:06dbb609484330ec6be6090109f1fa16e936afcf975d1cbc5fff3e6c7cae7542
    Copy to Clipboard Toggle word wrap
注意

这是在 Operator 级别完成的,因此每个 QuayRegistry 都将使用相同的覆盖进行部署。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat