5.6.9.5. 隐藏内部对象
Operator 在内部使用自定义资源定义 (CRD) 来完成任务是常见的。这些对象并不是供用户操作的,且可能会让 Operator 用户混淆。例如,数据库 Operator 可能会有一个 Replication
CRD,当用户创建带有 replication:true
的数据库对象时就会创建它。
作为 Operator 作者,您可以通过将 operators.operatorframework.io/internal-objects
注解添加到 Operator 的 ClusterServiceVersion(CSV)来隐藏用户界面中不用于用户操作的任何 CRD。
流程
-
在将一个 CRD 标记为 internal 之前,请确保任何管理应用程序所需的调试信息或配置都会反映在 CR 的状态或
spec
块中(如果适用于您的 Operator)。 向 Operator 的 CSV 添加
operators.operatorframework.io/internal-objects
注解,以指定要在用户界面中隐藏的任何内部对象:内部对象注解
apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: name: my-operator-v1.2.3 annotations: operators.operatorframework.io/internal-objects: '["my.internal.crd1.io","my.internal.crd2.io"]' 1 ...
- 1
- 将任何内部 CRD 设置为字符串数组。