Operator Lifecycle Manager コンポーネントを削除するにはどうすればよいですか?
Operator Lifecycle Manager (OLM) は、 Kubernetes バージョン 1.23 以降を実行するクラスターにはインストールも管理もされません。 ただし、バージョン 1.22 からバージョン 1.23 以降にアップグレードされたクラスターには、引き続き OLM コンポーネントがインストールされている可能性があります。 クラスターで OLM コンポーネントを使用していない場合は、以下の手順に従ってコンポーネントを削除します。
クラスターで OLM コンポーネントを引き続き使用する場合、またはバージョン 1.23 以降を実行するクラスターに OLM をインストールして実行する場合は、自分で更新を管理する必要があります。 オープン・ソース OLM の資料 を参照してください。
-
OLM オペレーターがインストールされていることを確認します。
kubectl get deploy -n ibm-system olm-operator
出力例
NAME READY UP-TO-DATE AVAILABLE AGE olm-operator 1/1 1 1 6mo
-
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
-
クラスター・サービス・バージョンをリストして、 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をまだ使用している場合は、続行しないでください。 -
ステップ 3 の出力に
clusterserviceversions
インスタンスがなかった場合は、 OLMを使用していません。 これで、 OLM によって作成されたリソースのリストを取得して削除できます。 -
以下のリストの各 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
-
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の削除をガイドしていることを前提としています。
- OLMによってデプロイされた
-
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
-
未使用の CR をすべて削除してから、 OLMによってインストールされたカスタム・リソース定義 (CRD) を削除します。
kubectl delete catalogsources.operators.coreos.com NAME -n NAMESPACE
kubectl delete crd catalogsources.operators.coreos.com
-
以下の各 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