1.9. アンインストール

Red Hat Advanced Cluster Management for Kubernetes をアンインストールすると、カスタムリソースの削除完全な Operator のアンインストール の 2 つの異なるアンインストールプロセスのレベルが表示されます。アンインストールプロセスに最長 20 分かかる場合があります。

  • 最初のレベルは、カスタムリソースの削除です。これは最も基本的なアンインストールの種類で、MultiClusterHub インスタンスのカスタムリソースを削除しますが、他の必要なコンポーネントが残されたままになります。このレベルのアンインストールは、同じ設定とコンポーネントを使用して再インストールする予定の場合に役立ちます。
  • 2 番目のレベルは、より完全なアンインストールで、カスタムリソース定義などのコンポーネントを除き、ほとんどの 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 をクリックします。サービスの削除を確定します。
    • ターミナルを使用することもできます。以下のコマンドを実行して Disovery を無効にします。
    $ oc delete discoveryconfigs --all --all-namespaces
  • マネージドクラスターがアタッチされている場合は、以下のメッセージが表示される可能性があります。注記: これには、自己管理のハブクラスターである local-cluster は含まれません。

    Cannot delete MultiClusterHub resource because ManagedCluster resource(s) exist

    クラスターのデタッチの詳細は、クラスターの作成 でお使いのプロバイダーの情報を選択して、マネージメントからのクラスターの削除 セクションを参照してください。

  • ベアメタルアセットが存在する場合は、以下が表示される場合があります。

    Cannot delete MultiClusterHub resource because BareMetalAssets resource(s) exist

    ベアメタルアセットの削除に関する詳細は、ベアメタルアセットの削除 を参照してください。

  • 可観測性がある場合は、以下が表示される可能性があります。

    Cannot delete MultiClusterHub resource because MultiClusterObservability resource(s) exist
    • ターミナルを使用して MultiClusterObservability を無効にして削除するには、以下の手順を参照してください。

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

        oc delete mco observability
    • コンソールを使用して MultiClusterObservability カスタムリソースを削除するには、以下の手順を参照してください。

      1. MultiClusterObservability カスタムリソースがインストールされている場合は、MultiClusterObservability のタブを選択します。
      2. MultiClusterObservability カスタムリソースの Options メニューを選択します。
      3. Delete MultiClusterObservability を選択します。

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

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

1.9.2. コマンドを使用したリソースの削除

  1. まだの場合には、oc コマンドが実行できるように、OpenShift Container Platform CLI が設定されていることを確認してください。oc コマンドの設定方法は、Red Hat OpenShift Container Platform ドキュメントの OpenShift CLI の使用方法 を参照してください。
  2. 以下のコマンドを入力してプロジェクトの namespace に移動します。namespace はお使いのプロジェクトの namespace 名に置き換えます。

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

    oc delete multiclusterhub --all

    以下のコマンドを入力して進捗を表示できます。

    oc get mch -o yaml
  4. clean-up スクリプトを実行して、残っているアーティファクトをすべて削除します。同じクラスター上の古いバージョンの Red Hat Advanced Cluster Management を使用して再インストールする予定がある場合は、このクリーンアップスクリプトを実行します。

    1. Helm のインストール の手順に従い、Helm CLI バイナリーバージョン 3.2.0 以降をインストールします。
    2. 以下のスクリプトをファイルにコピーします。

      #!/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 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
      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

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

    3. スクリプトを実行して、以前のインストールから残ったままとなっているすべてのアーティファクトを削除します。残っているアーティファクトがない場合は、リソースが見つからなかったことを示すメッセージが返されます。

      注記: 同じ Red Hat Advanced Cluster Management バージョンを再インストールする予定の場合は、この手順の次のステップを省略して、カスタムリソースを再インストールします。完全な Operator のアンインストールに進みます。

  5. 以下のコマンドを入力して、インストールされている namespace で Red Hat Advanced Cluster Management ClusterServiceVersion および Subscription を削除します。
❯ oc get csv
NAME                                 DISPLAY                                      VERSION   REPLACES   PHASE
advanced-cluster-management.v2.4.0   Advanced Cluster Management for Kubernetes   2.4.0                Succeeded

❯ oc delete clusterserviceversion advanced-cluster-management.v2.4.0

❯ oc get sub
NAME                        PACKAGE                       SOURCE                CHANNEL
acm-operator-subscription   advanced-cluster-management   acm-custom-registry   release-2.5

❯ oc delete sub acm-operator-subscription

注記: CSV のサブスクリプションおよびバージョンの名前が異なる場合があります。

1.9.3. コンソールを使用したコンポーネントの削除

Red Hat OpenShift Container Platform コンソールを使用してアンインストールする場合に、operator を削除します。コンソールを使用してアンインストールを行うには、以下の手順を実行します。

  1. OpenShift Container Platform コンソールのナビゲーションで、Operators > Installed Operators > Advanced Cluster Manager for Kubernetes を選択します。
  2. MultiClusterHub のカスタムリソースを削除します。

    1. Multiclusterhub のタブを選択します。
    2. MultiClusterHub カスタムリソースの Options メニューを選択します。
    3. Delete MultiClusterHub を選択します。
  3. コマンドを使用した MultiClusterHub インスタンスの削除 の手順にしたがって、クリーンアップスクリプトを実行します。

    ヒント: 同じ Red Hat Advanced Cluster Management バージョンを再インストールする場合は、残りの手順を省略し、カスタムリソースを再インストールします。

  4. Installed Operators に移動します。
  5. Options メニュー、Uninstall operator の順に選択して、Red Hat Advanced Cluster Management operator を削除します。