8.4. 自定义默认 Operator 镜像


注意

对于生产环境 Quay 环境,不支持使用此机制,强烈建议仅用于开发/测试。使用 Quay Operator 的非默认镜像时,无法保证部署正常工作。

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

8.4.1. 环境变量

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

Expand

环境变量

组件

RELATED_IMAGE_COMPONENT_QUAY

base

RELATED_IMAGE_COMPONENT_CLAIR

Clair

RELATED_IMAGE_COMPONENT_POSTGRES

Postgresclair 数据库

RELATED_IMAGE_COMPONENT_REDIS

redis

注意

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

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

当通过 Operator Lifecycle Manager(OLM)在集群中安装 Quay Operator 时,受管组件容器镜像可以通过修改 ClusterServiceVersion 对象来轻松覆盖,这是 OLM 在集群中运行 Operator 的表示。使用 Kubernetes UI 或 kubectl/oc 查找 Quay Operator 的 ClusterServiceVersion

$ oc get clusterserviceversions -n <your-namespace>

使用 UI、oc edit 或任何其他方法修改 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

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部