1.8. アンインストール

Red Hat Advanced Cluster Management for Kubernetes をアンインストールする場合に、2 種類のプロセスレベルが存在します。

最初のレベルはカスタムリソースの削除です。これは、最も基本的なアンインストールの種類で、MultiClusterHub インスタンスのカスタムリソースを削除しますが、他の必要なコンポーネントが残されたままになります。このレベルのアンインストールは、削除する内容と同じ設定とコンポーネントを使用して、別のインストールを行う予定の場合には便利です。他の全コンポーネントがすでにインストールされているので、次のバージョンのインストール時間が短縮されます。

次のレベルは、カスタムリソース定義などのいくつかの項目を除く、より完全なアンインストールです。このレベルでは、他の必須コンポーネントおよび設定が削除される項目に追加されます。この手順を続行すると、カスタムリソースの削除で削除されていないコンポーネントおよびサブスクリプションがすべて削除されます。このレベルのアンインストールを完了する場合には、カスタムリソースを再インストールする前に Operator の再インストールが必要です。

重要: Red Hat Advanced Cluster Management のハブクラスターをアンインストールする前に、ハブクラスターが管理するクラスターをすべてデタッチする必要があります。回避策については、「リソースが存在しないためにアンインストールに失敗する場合のトラブルシューティング」を参照してください。

1.8.1. コマンドを使用した MultiClusterHub インスタンスの削除

  1. MultiClusterObservability カスタムリソースを実行している場合は、これを無効にして削除します。

    1. ハブクラスターにログインします。
    2. 以下のコマンドを実行して MultiClusterObservability カスタムリソースを削除します。

      oc delete mco observability

      リソースを削除すると、Red Hat Advanced Cluster Management ハブクラスターの open-cluster-management-observability namespace の Pod と、全マネージドクラスターの open-cluster-management-addon-observability namespace の Pod が削除されます。

      重要: 可観測性サービスの削除によるオブジェクトストレージへの影響はありません。

  2. 以下のコマンドを入力してプロジェクトの namespace に移動します。

    oc project <namespace>

    namespace はお使いのプロジェクトの namespace に置き換えます。

  3. 以下のコマンドを実行して MultiClusterHub カスタムリソースを削除します。

    oc delete multiclusterhub --all

    アンインストールプロセスの完了に最長 20 分かかる可能性があります。以下のコマンドを入力して進捗を表示できます。

    oc get mch -o yaml
  4. clean-up スクリプトを実行して、残りのアーティファクトを削除します。

    1. Installing Helm」の手順に従い、Helm CLI バイナリーバージョン 3.2.0 以降をインストールします。
    2. oc コマンドが実行できるように、OpenShift Container Platform CLI が設定されていることを確認してください。oc コマンドの設定方法に関する詳細は、OpenShift Container Platform ドキュメントの「CLI の使用方法」を参照してください。
    3. 以下のスクリプトをファイルにコピーします。

      #!/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 v1beta1.webhook.certmanager.k8s.io v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io
      oc delete clusterimageset --all
      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
      oc delete mutatingwebhookconfiguration cert-manager-webhook cert-manager-webhook-v1alpha1
      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

      スクリプトの namespace は、Red Hat Advanced Cluster Management がインストールされている namespace 名に置き換えます。namespace が消去され、削除されるので、正しい namespace を指定するようにしてください。

    4. スクリプトを実行して、アーティファクトを以前のインストールから削除します。

      ヒント: 新しいバージョンを再インストールする予定で、他の情報を保存する場合には、残りの手順を省略し、再インストールしてください。

  5. 以下のコマンドを入力して、関連するコンポーネントおよびサブスクリプションをすべて削除します。

    oc delete subs --all
  6. 以下のコマンドを入力し、ClusterServiceVersion を削除します。

    oc delete clusterserviceversion --all