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 の完全なリストを表示するには、認証されたすべてのユーザーが次のコマンドを実行できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get csvs -n openshift
$ oc get csvs -n openshift
手順
cluster
という名前のOLMConfig
オブジェクトを編集し、spec.features.disableCopiedCSVs
フィールドをtrue
に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f - <<EOF apiVersion: operators.coreos.com/v1 kind: OLMConfig metadata: name: cluster spec: features: disableCopiedCSVs: true EOF
$ 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 のイベントでこの情報をキャプチャします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get events
$ oc get events
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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 を再作成し、前述のイベントを削除します。
関連情報