4.6. 管理 Operator 条件
作为集群管理员,您可以使用 Operator Lifecycle Manager(OLM)来管理 Operator 状况。
4.6.1. 覆盖 Operator 条件
作为集群管理员,您可能想要忽略由 Operator 报告的、支持的 Operator 条件。Spec.Overrides
阵列中的 Operator 条件会覆盖 Status.Conditions
阵列中的条件,以便集群管理员可以处理 Operator 向 Operator Lifecycle Manager(OLM)报告了不正确状态的情况。
例如,一个 Operator 的已知版本,它始终会告知它是不可升级的。在这种情况下,尽管报告是不可升级的,您仍然希望升级 Operator。这可以通过在 OperatorCondition
资源中的 Spec.Overrides
阵列中添加 type
和 status
来覆盖 Operator 条件来实现。
先决条件
-
具有
OperatorCondition
资源的 Operator,使用 OLM 安装。
流程
编辑 Operator 的
OperatorCondition
资源:$ oc edit operatorcondition <name>
在对象中添加
Spec.Overrides
数组:Operator 条件覆盖示例
apiVersion: operators.coreos.com/v1 kind: OperatorCondition metadata: name: my-operator namespace: operators spec: overrides: - type: Upgradeable 1 status: "True" reason: "upgradeIsSafe" message: "This is a known issue with the Operator where it always reports that it cannot be upgraded." status: conditions: - type: Upgradeable status: "False" reason: "migration" message: "The operator is performing a migration." lastTransitionTime: "2020-08-24T23:15:55Z"
- 1
- 允许集群管理员将升级就绪状态更改为
True
。