4.6. Operator 条件の管理
dedicated-admin
ロールを持つ管理者は、Operator Lifecycle Manager (OLM) を使用して Operator 条件を管理できます。
4.6.1. Operator 条件のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
dedicated-admin
ロールを持つ管理者は、Operator によって報告されるサポート対象の Operator 条件を無視することもできます。Spec.Overrides
配列に Operator 条件が存在する場合、この条件によって Spec.Conditions
配列の条件がオーバーライドされます。これを使用することで、dedicated-admin
管理者は、Operator が Operator Lifecycle Manager (OLM) に状態を誤って報告している状況に対処できます。
デフォルトでは、Spec.Overrides
配列は、dedicated-admin
ロールを持つ管理者が追加するまで、OperatorCondition
オブジェクトに存在しません。Spec.Conditions
配列も、ユーザーが追加するか、カスタム Operator ロジックの結果として追加されるまで存在しません。
たとえば、アップグレードできないことを常に通信する Operator の既知のバージョンを考えてみましょう。この場合、Operator がアップグレードできないと通信していますが、Operator をアップグレードすることを推奨します。これは、条件の type
および status
を OperatorCondition
オブジェクトの Spec.Overrides
配列に追加して Operator 条件をオーバーライドすることによって実行できます。
前提条件
-
dedicated-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OperatorCondition
オブジェクトを持つ Operator が OLM を使用してインストールされている。
手順
Operator の
OperatorCondition
オブジェクトを編集します。oc edit operatorcondition <name>
$ oc edit operatorcondition <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Spec.Overrides
配列をオブジェクトに追加します。Operator 条件のオーバーライドの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このように編集すると、
dedicated-admin
ユーザーはアップグレードの準備状況をTrue
に変更できます。
4.6.2. Operator 条件を使用するための Operator の更新 リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) は、調整する ClusterServiceVersion
リソースごとに OperatorCondition
リソースを自動的に作成します。CSV のすべてのサービスアカウントには、Operator が所有する OperatorCondition
と対話するための RBAC が付与されます。
Operator の作成者は、Operator が OLM によってデプロイされた後に、独自の条件を設定できるように Operator を開発し、operator-lib
ライブラリーを使用することができます。Operator 作成者として Operator 条件を設定する方法の詳細は、Operator 条件の有効化 ページを参照してください。
4.6.2.1. デフォルトの設定 リンクのコピーリンクがクリップボードにコピーされました!
後方互換性を維持するために、OLM は OperatorCondition
リソースがない状態を条件からのオプトアウトとして扱います。そのため、Operator 条件の使用にオプトインする Operator は、Pod の ready プローブが true
に設定される前に、デフォルトの条件を設定する必要があります。これにより、Operator には、条件を正しい状態に更新するための猶予期間が与えられます。