2.4.5.3. 目标命名空间选择
您可以使用 spec.targetNamespaces
参数为 Operator 组显式命名目标命名空间:
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: my-group namespace: my-namespace spec: targetNamespaces: - my-namespace
您还可以使用带有 spec.selector
参数的标签选择器指定命名空间:
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: my-group namespace: my-namespace spec: selector: cool.io/prod: "true"
重要
不建议通过 spec.targetNamespaces
列出多个命名空间,或通过 spec.selector
使用标签选择器,因为在以后的版本中可能会删除对 Operator 组中多个目标命名空间的支持。
如果 spec.targetNamespaces
和 spec.selector
均已定义,则会忽略 spec.selector
。另外,您可以省略 spec.selector
和 spec.targetNamespaces
来指定一个 全局 Operator 组,该组选择所有命名空间:
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: my-group namespace: my-namespace
Opeator 组的 status.namespaces
参数中会显示所选命名空间的解析集合。全局 OperatorGroup 的 status.namespace
包含空字符串 (""
),而该字符串会向正在使用的 Operator 发出信号,要求其监视所有命名空间。