IBM Cloud Docs
Operator Lifecycle Manager コンポーネントを削除するにはどうすればよいですか?

Operator Lifecycle Manager コンポーネントを削除するにはどうすればよいですか?

Operator Lifecycle Manager (OLM) は、 Kubernetes バージョン 1.23 以降を実行するクラスターにはインストールも管理もされません。 ただし、バージョン 1.22 からバージョン 1.23 以降にアップグレードされたクラスターには、引き続き OLM コンポーネントがインストールされている可能性があります。 クラスターで OLM コンポーネントを使用していない場合は、以下の手順に従ってコンポーネントを削除します。

クラスターで OLM コンポーネントを引き続き使用する場合、またはバージョン 1.23 以降を実行するクラスターに OLM をインストールして実行する場合は、自分で更新を管理する必要があります。 オープン・ソース OLM の資料 を参照してください。

  1. OLM オペレーターがインストールされていることを確認します。

    kubectl get deploy -n ibm-system olm-operator
    

    出力例

    NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
    olm-operator                           1/1     1            1           6mo
    
  2. Istio アドオンのバージョン 1.4 から 1.9 を使用しているかどうかを確認します。 Istio バージョン 1.4 から 1.9 はサポートされておらず、 OLMを使用しています。 これらのバージョンを使用する場合は、 OLM オペレーターを使用しない サポートされるバージョンの Istio アドオンにアップグレード してください。 サポートされる Istio バージョンにアップグレードした後、 OLM オペレーターを削除できます。

    ibmcloud ks cluster addons -c CLUSTER
    

    この出力例では、 OLM は引き続き Istio アドオン・バージョン 1.5によって使用されます。 アドオンをアップグレードしてから、以下のステップを続行します。

    NAME            Version     Health State   Health Status
    istio           1.5         normal         Addon Ready
    
  3. クラスター・サービス・バージョンをリストして、 OLM を介してデプロイされたオペレーターが使用中であるかどうかを確認します。

    kubectl get clusterserviceversions -A
    

    OLMを使用してデプロイされたオペレーターの出力例。

    NAMESPACE                              NAME            DISPLAY          VERSION   REPLACES   PHASE
    kubernetes-operator-lifecycle-manager   packageserver   Package Server   0.19.0               Succeeded
    

    出力に clusterserviceversions がリストされている場合は、 OLMによって管理されているオペレーターを引き続き使用しています。 OLMは引き続き使用できますが、更新の管理はお客様の責任で行っていただきます。 以下のステップは、 OLM を使用しなくなり、クリーンアップ手順を提供することを前提としています。 OLMをまだ使用している場合は、続行しないでください。

  4. ステップ 3 の出力に clusterserviceversions インスタンスがなかった場合は、 OLMを使用していません。 これで、 OLM によって作成されたリソースのリストを取得して削除できます。

  5. 以下のリストの各 CRD について、すべての名前空間のカスタム・リソース (CR) を取得します。

    kubectl get catalogsources.operators.coreos.com -A
    kubectl get clusterserviceversions.operators.coreos.com -A
    kubectl get installplans.operators.coreos.com -A
    kubectl get operatorgroups.operators.coreos.com -A
    kubectl get operators.operators.coreos.com -A
    kubectl get subscriptions.operators.coreos.com -A
    
  6. CR が見つかった場合は、これらのリソースがまだ必要かどうかを判別します。

    • OLMによってデプロイされた olm-operators オペレーター・グループと ibm-operators オペレーター・グループが引き続き表示される場合があります。 これらのオペレーター・グループは、 OLMのインストールの一部でした。 前のステップでは cluseterserviceversions インスタンスがないため、これらのオペレーター・グループは使用しなくなりました。
    • 以前にバージョン 1.4- 1.9 の Istio アドオンがインストールされていた場合でも、 ibm-operators 名前空間に istio operators.operators.coreos.com リソースが表示されることがあります。 Istio を少なくともバージョン 1.10にアップグレードした場合は、このリソースは不要になります。
    • 他の CR が見つかった場合は、前のステップで clusterserviceversions インスタンスがなかったために、それらを使用していない可能性があります。 ただし、各 CR をケース・バイ・ケースでクラスター管理者と検討して、それらがまだ使用されているかどうかを判別してください。

    以下のステップでは、確認が完了し、 OLMの削除をガイドしていることを前提としています。

  7. OLM が Istio アドオンまたは追加のオペレーターによって使用されていないと判断した場合は、以下のコマンドを個別に実行して OLM リソースを削除します。

    kubectl delete clusterrole aggregate-olm-edit
    kubectl delete clusterrole aggregate-olm-view
    kubectl delete deploy -n ibm-system catalog-operator
    kubectl delete deploy -n ibm-system olm-operator
    kubectl delete clusterrole system:controller:operator-lifecycle-manager
    kubectl delete serviceaccount -n ibm-system olm-operator-serviceaccount
    kubectl delete clusterrolebinding olm-operator-binding-ibm-system
    kubectl delete operatorgroup -n ibm-operators  ibm-operators
    kubectl delete operatorgroup -n ibm-system   olm-operators
    kubectl delete service -n ibm-system catalog-operator-metrics
    kubectl delete service -n ibm-system olm-operator-metrics
    
  8. 未使用の CR をすべて削除してから、 OLMによってインストールされたカスタム・リソース定義 (CRD) を削除します。

    kubectl delete catalogsources.operators.coreos.com NAME -n NAMESPACE
    
    kubectl delete crd catalogsources.operators.coreos.com
    
  9. 以下の各 CRD について、上記のステップを繰り返します。

    • catalogsources.operators.coreos.com
    • clusterserviceversions.operators.coreos.com
    • installplans.operators.coreos.com
    • operatorgroups.operators.coreos.com
    • operators.operators.coreos.com
    • subscriptions.operators.coreos.com