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 -AOLMを使用してデプロイされたオペレーターの出力例。
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インスタンスがないため、これらのオペレーター・グループは使用しなくなりました。 - 過去に Istio アドオンのバージョン 1.4- 1.9 をインストールしていた場合、
ibm-operators名前空間にistiooperators.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 NAMESPACEkubectl delete crd catalogsources.operators.coreos.com -
以下の各 CRD について、上記のステップを繰り返します。
catalogsources.operators.coreos.comclusterserviceversions.operators.coreos.cominstallplans.operators.coreos.comoperatorgroups.operators.coreos.comoperators.operators.coreos.comsubscriptions.operators.coreos.com