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 都使用相同的覆盖进行部署。