4.7. Operator 条件の管理
クラスター管理者は、Operator Lifecycle Manager (OLM) を使用して Operator 条件を管理できます。
4.7.1. Operator 条件の上書き リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者には、Operator が報告するサポートされている Operator 条件を無視することを推奨します。Operator 条件が存在する場合、Spec.Overrides 配列の Operator 条件は Spec.Conditions 配列の条件を上書きし、これによりクラスター管理者は、Operator が Operator Lifecycle Manager (OLM) に状態を誤って報告する状況に対応することができます。
デフォルトでは、Spec.Overrides 配列は、クラスター管理者によって追加されるまで、OperatorCondition オブジェクトには存在しません。Spec.Conditions 配列も、ユーザーが追加するか、カスタム Operator ロジックの結果として追加されるまで存在しません。
たとえば、アップグレードできないことを常に通信する Operator の既知のバージョンを考えてみましょう。この場合、Operator がアップグレードできないと通信していますが、Operator をアップグレードすることを推奨します。これは、条件の type および status を OperatorCondition オブジェクトの Spec.Overrides 配列に追加して Operator 条件をオーバーライドすることによって実行できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 -
OperatorConditionオブジェクトを持つ Operator が OLM を使用してインストールされている。
手順
Operator の
OperatorConditionオブジェクトを編集します。$ oc edit operatorcondition <name>Spec.Overrides配列をオブジェクトに追加します。Operator 条件の上書きの例
apiVersion: operators.coreos.com/v2 kind: OperatorCondition metadata: name: my-operator namespace: operators spec: overrides: - type: Upgradeable1 status: "True" reason: "upgradeIsSafe" message: "This is a known issue with the Operator where it always reports that it cannot be upgraded." conditions: - type: Upgradeable status: "False" reason: "migration" message: "The operator is performing a migration." lastTransitionTime: "2020-08-24T23:15:55Z"- 1
- クラスター管理者は、アップグレードの準備状態を
Trueに変更できます。