5.8. 自定义默认 Operator 镜像
在某些情况下,覆盖 Red Hat Quay Operator 使用的默认镜像可能会很有用。这可以通过在 Red Hat Quay Operator ClusterServiceVersion
中设置一个或多个环境变量来完成。
在 Red Hat Quay 环境中不支持使用此机制,强烈建议仅用于开发或测试目的。在 Red Hat Quay Operator 中使用非默认镜像时,您的部署无法正常工作。
5.8.1. 环境变量 复制链接链接已复制到粘贴板!
Red Hat Quay Operator 中使用以下环境变量来覆盖组件镜像:
环境变量 | 组件 |
|
|
|
|
|
|
|
|
覆盖的镜像 必须被 清单(@sha256:)引用,而不是通过 tag (:latest)引用。
5.8.2. 将覆盖应用到正在运行的 Operator 复制链接链接已复制到粘贴板!
当通过 Operator Lifecycle Manager (OLM) 安装 Red Hat Quay Operator 时,可以通过修改 ClusterServiceVersion
对象来轻松覆盖受管组件容器镜像。
使用以下步骤将覆盖应用到正在运行的 Red Hat Quay Operator。
步骤
ClusterServiceVersion
对象是集群中正在运行的 Operator 的 Operator 的表示。使用 Kubernetes UI 或kubectl
/oc
CLI 工具查找 Red Hat Quay Operator 的ClusterServiceVersion
。例如:oc get clusterserviceversions -n <your-namespace>
$ oc get clusterserviceversions -n <your-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 UI、
oc edit
或其他方法,修改 Red Hat QuayClusterServiceVersion
,使其包含上面概述的环境变量以指向覆盖镜像:json Path :
spec.install.spec.deployments[0].spec.template.spec.containers[0].env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这在 Operator 级别上完成,因此每个 QuayRegistry
都将使用相同的覆盖进行部署。