1.9. アンインストール
Red Hat Advanced Cluster Management for Kubernetes をアンインストールする方法を学びます。アンインストールを開始すると、以下のセクションで説明されているように、アンインストールプロセスの 2 つの異なるレベル( カスタムリソースの削除 と 完全な Operator のアンインストール )が表示されます。アンインストールプロセスに最長 20 分かかる場合があります。
- 最初のレベルは、カスタムリソースの削除です。これは最も基本的なアンインストールの種類で、MultiClusterHub インスタンスのカスタムリソースを削除しますが、他の必要なコンポーネントが残されたままになります。このレベルのアンインストールは、同じ設定とコンポーネントを使用して再インストールする予定の場合に役立ちます。
- 2 番目のレベルは、完全な Operator のアンインストール で、カスタムリソース定義などのコンポーネントを除く、ほとんどの Operator コンポーネントを削除します。この手順を続行すると、カスタムリソースの削除で削除されていないコンポーネントおよびサブスクリプションがすべて削除されます。アンインストールが済むと、カスタムリソースの前に Operator を再インストールする必要があります。
1.9.1. 前提条件: 有効化されたサービスのデタッチ
Red Hat Advanced Cluster Management のハブクラスターをアンインストールする前に、ハブクラスターが管理するクラスターをすべてデタッチする必要があります。エラーを解決するには、ハブクラスターが管理しているクラスターをすべてデタッチし、再度アンインストールを試みます。
Discovery を使用する場合は、アンインストールの試行時に以下のエラーが発生することがあります。
Cannot delete MultiClusterHub resource because DiscoveryConfig resource(s) exist
Discovery を無効にするには、以下の手順を実行します。
-
コンソールから
Discovered Clusters
の表に移動し、Disable cluster discovery をクリックします。サービスの削除を確定します。 - ターミナルを使用することもできます。以下のコマンドを実行して Discover を無効にします。
$ oc delete discoveryconfigs --all --all-namespaces
-
コンソールから
マネージドクラスターがアタッチされている場合は、以下のメッセージが表示される可能性があります。注記: これには、自己管理のハブクラスターである
local-cluster
は含まれません。Cannot delete MultiClusterHub resource because ManagedCluster resource(s) exist
クラスターのデタッチの詳細は、クラスターの作成 でお使いのプロバイダーの情報を選択して、マネージメントからのクラスターの削除 セクションを参照してください。
可観測性 を使用する場合は、以下が表示される可能性があります。
Cannot delete MultiClusterHub resource because MultiClusterObservability resource(s) exist
ターミナルを使用して
MultiClusterObservability
を無効にして削除するには、以下の手順を参照してください。- ハブクラスターにログインします。
以下のコマンドを実行して
MultiClusterObservability
カスタムリソースを削除します。oc delete mco observability
コンソールを使用して
MultiClusterObservability
カスタムリソースを削除するには、以下の手順を参照してください。-
MultiClusterObservability
カスタムリソースがインストールされている場合は、MultiClusterObservability のタブを選択します。 -
MultiClusterObservability
カスタムリソースの Options メニューを選択します。 Delete MultiClusterObservability を選択します。
リソースを削除すると、Red Hat Advanced Cluster Management ハブクラスターの
open-cluster-management-observability
namespace の Pod と、全マネージドクラスターのopen-cluster-management-addon-observability
namespace の Pod が削除されます。
注記: 可観測性サービスの削除によるオブジェクトストレージへの影響はありません。
1.9.2. コマンドを使用したリソースの削除
-
まだの場合には、
oc
コマンドが実行できるように、OpenShift Container Platform CLI が設定されていることを確認してください。oc
コマンドの設定方法の詳細は、OpenShift Container Platform ドキュメントの OpenShift CLI スタートガイド を参照してください。 以下のコマンドを入力してプロジェクトの namespace に移動します。namespace はお使いのプロジェクトの namespace 名に置き換えます。
oc project <namespace>
以下のコマンドを実行して
MultiClusterHub
カスタムリソースを削除します。oc delete multiclusterhub --all
以下のコマンドを入力して進捗を表示できます。
oc get mch -o yaml
clean-up スクリプトを実行して、残っているアーティファクトをすべて削除します。同じクラスター上の古いバージョンの Red Hat Advanced Cluster Management を使用して再インストールする予定がある場合は、このクリーンアップスクリプトを実行します。
- Helm のインストール の手順に従い、Helm CLI バイナリーバージョン 3.2.0 以降をインストールします。
以下のスクリプトをファイルにコピーします。スクリプト内の <
namespace
> は Red Hat Advanced Cluster Management がインストールされている namespace の名前に置き換えます。namespace が消去され削除されるため、正しい namespace を指定するようにしてください。#!/bin/bash ACM_NAMESPACE=<namespace> oc delete mch --all -n $ACM_NAMESPACE helm ls --namespace $ACM_NAMESPACE | cut -f 1 | tail -n +2 | xargs -n 1 helm delete --namespace $ACM_NAMESPACE oc delete apiservice v1beta2.webhook.certmanager.k8s.io v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io oc delete clusterimageset --all oc delete clusterrole multiclusterengines.multicluster.openshift.io-v1-admin multiclusterengines.multicluster.openshift.io-v1-crdview multiclusterengines.multicluster.openshift.io-v1-edit multiclusterengines.multicluster.openshift.io-v1-view open-cluster-management:addons:application-manager open-cluster-management:admin-aggregate open-cluster-management:cert-policy-controller-hub open-cluster-management:cluster-manager-admin-aggregate open-cluster-management:config-policy-controller-hub open-cluster-management:edit-aggregate open-cluster-management:iam-policy-controller-hub open-cluster-management:policy-framework-hub open-cluster-management:view-aggregate oc delete configmap -n $ACM_NAMESPACE cert-manager-controller cert-manager-cainjector-leader-election cert-manager-cainjector-leader-election-core oc delete consolelink acm-console-link oc delete crd klusterletaddonconfigs.agent.open-cluster-management.io placementbindings.policy.open-cluster-management.io policies.policy.open-cluster-management.io userpreferences.console.open-cluster-management.io searchservices.search.acm.com discoveredclusters.discovery.open-cluster-management.io discoveryconfigs.discovery.open-cluster-management.io oc delete mutatingwebhookconfiguration cert-manager-webhook cert-manager-webhook-v1alpha1 ocm-mutating-webhook managedclustermutators.admission.cluster.open-cluster-management.io multicluster-observability-operator oc delete oauthclient multicloudingress oc delete rolebinding -n kube-system cert-manager-webhook-webhook-authentication-reader oc delete scc kui-proxy-scc oc delete validatingwebhookconfiguration cert-manager-webhook cert-manager-webhook-v1alpha1 channels.apps.open.cluster.management.webhook.validator application-webhook-validator multiclusterhub-operator-validating-webhook ocm-validating-webhook multicluster-observability-operator multiclusterengines.multicluster.openshift.io
スクリプトを実行して、以前のインストールから残ったままとなっているすべてのアーティファクトを削除します。残っているアーティファクトがない場合は、リソースが見つからなかったことを示すメッセージが返されます。
注記: 同じ Red Hat Advanced Cluster Management バージョンを再インストールする予定の場合は、この手順の次のステップを省略して、カスタムリソースを再インストールします。完全な Operator のアンインストールに進みます。
以下のコマンドを入力して、インストールされている namespace で Red Hat Advanced Cluster Management
ClusterServiceVersion
およびSubscription
を削除します。2.x.0
の値を現在のメジャーリリースまたはマイナーリリースに置き換えます。❯ oc get csv NAME DISPLAY VERSION REPLACES PHASE advanced-cluster-management.v2.x.0 Advanced Cluster Management for Kubernetes 2.x.0 Succeeded ❯ oc delete clusterserviceversion advanced-cluster-management.v2.x.0 ❯ oc get sub NAME PACKAGE SOURCE CHANNEL acm-operator-subscription advanced-cluster-management acm-custom-registry release-2.x ❯ oc delete sub acm-operator-subscription
注記: CSV のサブスクリプションおよびバージョンの名前が異なる場合があります。
1.9.3. コンソールを使用したコンポーネントの削除
Red Hat OpenShift Container Platform コンソールを使用してアンインストールする場合に、Operator を削除します。コンソールを使用してアンインストールを行うには、以下の手順を実行します。
- OpenShift Container Platform コンソールのナビゲーションで、Operators > Installed Operators > Advanced Cluster Manager for Kubernetes を選択します。
MultiClusterHub
のカスタムリソースを削除します。- Multiclusterhub のタブを選択します。
- MultiClusterHub カスタムリソースの Options メニューを選択します。
- Delete MultiClusterHub を選択します。
コマンドを使用した MultiClusterHub インスタンスの削除 の手順に従って、クリーンアップスクリプトを実行します。
注記: 同じ Red Hat Advanced Cluster Management バージョンを再インストールする場合は、残りの手順を省略し、カスタムリソースを再インストールします。
- Installed Operators に移動します。
- Options メニュー、Uninstall operator の順に選択して、Red Hat Advanced Cluster Management operator を削除します。