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 中使用以下环境变量来覆盖组件镜像:
环境变量 | 组件 |
|
|
|
|
|
|
|
|
覆盖的镜像 必须由 清单(@sha256:)引用,而不是通过标签(:latest)引用。
4.7.2. 将覆盖应用到正在运行的 Operator 复制链接链接已复制到粘贴板!
通过 Operator Lifecycle Manager (OLM) 在集群中安装 Red Hat Quay Operator 时,可通过修改 ClusterServiceVersion
对象来轻松覆盖受管组件容器镜像。
使用以下步骤将覆盖应用到正在运行的 Red Hat Quay Operator。
流程
ClusterServiceVersion
对象是集群中正在运行的 Operator 的 Operator Lifecycle Manager 表示。使用 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
,使其包含上面概述的环境变量以指向覆盖镜像:JSONPath:
spec.install.spec.deployments[0].spec.template.spec.containers[0].env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这是在 Operator 级别完成的,因此每个 QuayRegistry
都将使用相同的覆盖进行部署。