5.4.3. CRD アップグレードの安全性プリフライトチェックを無効にする
カスタムリソース定義 (CRD) アップグレードの安全性プリフライトチェックを無効にできます。CRD を提供する ClusterExtension オブジェクトで、install.preflight.crdUpgradeSafety.enforcement フィールドに None の値を設定します。
CRD アップグレードの安全性事前チェックを無効にすると、保存されている CRD バージョンとの下位互換性が失われ、クラスターでその他の予期しない結果が発生する可能性があります。
個々のフィールド検証を無効にすることはできません。CRD アップグレードの安全性事前チェックを無効にすると、すべてのフィールド検証が無効になります。
Operator Lifecycle Manager (OLM) v1 で CRD アップグレード安全性プリフライトチェックを無効にしても、Kubernetes API サーバーは引き続き次の操作を防止します。
-
スコープを
ClusterからNamespaceに、またはNamespaceからClusterに変更する - 保存された既存の CRD バージョンを削除する
前提条件
- クラスター拡張機能がインストールされている。
手順
CRD の
ClusterExtensionオブジェクトを編集します。$ oc edit clusterextension <clusterextension_name>install.preflight.crdUpgradeSafety.enforcementフィールドをNoneに設定します。ClusterExtensionオブジェクトの例apiVersion: olm.operatorframework.io/v1 kind: ClusterExtension metadata: name: clusterextension-sample spec: namespace: default serviceAccount: name: sa-example source: sourceType: "Catalog" catalog: packageName: argocd-operator version: 0.6.0 install: preflight: crdUpgradeSafety: enforcement: None