4.4. 配置 Operator Lifecycle Manager 功能
Operator Lifecycle Manager(OLM)控制器由名为 cluster
的 OLMConfig
自定义资源(CR)进行配置。集群管理员可以修改此资源以启用或禁用某些功能。
本文档概述了由 OLMConfig
资源配置的 OLM 当前支持的功能。
4.4.1. 禁用复制的 CSV
当 Operator Lifecycle Manager(OLM)安装 Operator 时,会在 Operator 配置为监视的每个命名空间中创建其集群服务版本(CSV)的简化副本。这些 CSV 称为 复制的 CSV,并告知用户控制器在给定命名空间中主动协调资源事件。
当 Operator 配置为使用 AllNamespaces
安装模式时,与将单个或指定命名空间集为目标时,会在集群中的每个命名空间中创建复制的 CSV。在大型集群中,带有命名空间和安装的 Operator 可能存在于数百个或数千种 CSV 中,复制的 CSV 消耗大量资源,如 OLM 的内存用量、集群 etcd 限值和网络带宽。
为了支持这些较大的集群,集群管理员现在可以为采用 AllNamespaces
模式安装的 Operator 禁用复制的 CSV。
如果您禁用复制的 CSV,用户可以发现 OperatorHub 中的 Operator,CLI 仅限于直接在用户命名空间中安装的 Operator。
如果将 Operator 配置为协调用户命名空间中的事件,但安装在不同的命名空间中,用户无法在 OperatorHub 或 CLI 中查看 Operator。受此限制影响的 Operator 仍然可用,并继续协调用户命名空间中的事件。
此行为的原因如下:
- 复制的 CSV 识别可用于给定命名空间的 Operator。
- 基于角色的访问控制 (RBAC) 范围限制了用户在 OperatorHub 和 CLI 中查看和发现 Operator 的功能。
流程
编辑名为
cluster
的OLMConfig
对象,将spec.features.disableCopiedCSVs
字段设置为true
:$ oc apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OLMConfig metadata: name: cluster spec: features: disableCopiedCSVs: true 1 EOF
- 1
- 为
AllNamespaces
安装模式 Operator 禁用复制的 CSV
验证
当禁用复制的 CSV 时,OLM 会在 Operator 命名空间中捕获这些信息:
$ oc get events
输出示例
LAST SEEN TYPE REASON OBJECT MESSAGE 85s Warning DisabledCopiedCSVs clusterserviceversion/my-csv.v1.0.0 CSV copying disabled for operators/my-csv.v1.0.0
当
spec.features.disableCopiedCSVs
字段缺失或设置为false
时,OLM 会为使用AllNamespaces
模式安装的所有 Operator 重新创建复制的 CSV,并删除前面提到的事件。
其他资源