4.4. Operator Lifecycle Manager 機能の設定
Operator Lifecycle Manager (OLM) コントローラーは、cluster
という名前の OLMConfig
カスタムリソース (CR) で設定されます。クラスター管理者は、このリソースを変更して、特定の機能を有効または無効にすることができます。
このドキュメントでは、OLMConfig
リソースによって設定されている OLM で現在サポートされている機能を概説します。
4.4.1. コピーした CSV の無効化
Operator が Operator Lifecycle Manager (OLM) によってインストールされると、そのクラスターサービスバージョン (CSV) の簡易コピーが、Operator が監視するように設定されているすべての namespace にデフォルトで作成されます。これらの CSV は、コピーされた CSV と呼ばれ、特定の namespace でリソースイベントをアクティブに調整しているコントローラーをユーザーに通知します。
Operator が AllNamespaces
インストールモードを使用するように設定されている場合、単一または指定された一連の namespace をターゲットとするのではなく、Operator のコピーされた CSV がクラスター上のすべての namespace に作成されます。特に大規模なクラスターでは、namespace およびインストールされた Operator が数百または数千の場合に、コピーされた CSV は OLM のメモリー使用量、クラスター etcd 制限、およびネットワークなどのリソースを有効にしない量を消費する可能性があります。
これらの大規模なクラスターをサポートするために、クラスター管理者は、AllNamespaces
モードでグローバルにインストールされた Operator のコピーされた CSV を無効にすることができます。
コピーされた CSV を無効にすると、AllNamespaces
モードでインストールされた Operator の CSV は、クラスター上のすべての namespace ではなく、openshift
namespace にのみコピーされます。無効なコピー CSV モードでは、Web コンソールと CLI で動作が異なります。
-
Web コンソールでは、CSV が実際にすべての namespace にコピーされない場合でも、
openshift
namespace からコピーされた CSV をすべての namespace に表示するようにデフォルトの動作が変更されます。これにより、通常のユーザーは引き続き namespace でこれらの Operator の詳細を表示し、関連するカスタムリソース (CR) を作成できます。 OpenShift CLI (
oc
) では、通常のユーザーはoc get csvs
コマンドを使用して、ユーザーの namespace に直接インストールされた Operator を表示できます。しかし、openshift
namespace からコピーされた CSV は、ユーザーの namespace には表示されません。この制限の影響を受ける Operator は引き続き利用でき、ユーザーの namespace でイベントの調整を継続します。Web コンソールの動作と同様に、インストールされているグローバル Operator の完全なリストを表示するには、認証されたすべてのユーザーが次のコマンドを実行できます。
$ oc get csvs -n openshift
手順
cluster
という名前のOLMConfig
オブジェクトを編集し、spec.features.disableCopiedCSVs
フィールドをtrue
に設定します。$ oc apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OLMConfig metadata: name: cluster spec: features: disableCopiedCSVs: true 1 EOF
- 1
AllNamespaces
インストールモード Operator 向けのコピーされた CSV を無効にしました。
検証
コピーされた CSV が無効になっている場合には、OLM は Operator の namespace のイベントでこの情報をキャプチャします。
$ oc get events
出力例
LAST SEEN TYPE REASON OBJECT MESSAGE 85s Warning DisabledCopiedCSVs clusterserviceversion/my-csv.v1.0.0 CSV copying disabled for operators/my-csv.v1.0.0
spec.features.disableCopiedCSVs
フィールドが欠落しているか、false
に設定されている場合に、OLM はAllNamespaces
モードでインストールされた全 Operator 向けのコピーされた CSV を再作成し、前述のイベントを削除します。
関連情報