管理クラスタの削除

このページでは、VMware 用 Google Distributed Cloud(ソフトウェアのみ)で作成した管理クラスタを削除する方法について説明します。

始める前に

管理クラスタを削除する前に、次の手順を行います。

  • ユーザー クラスタを削除します。ユーザー クラスタの削除をご覧ください。
  • 管理クラスタから PodDisruptionBudgets を使用するワークロードをすべて削除します。
  • 管理クラスタから PersistentVolumes などの外部オブジェクトをすべて削除します。
  • 削除する管理クラスタの kubeconfig を指す、KUBECONFIG 環境変数を設定します。

    export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
    

    ここで、ADMIN_CLUSTER_KUBECONFIG は管理クラスタの kubeconfig ファイルのパスです。

  • 管理クラスタ名をメモします。

    kubectl get onpremadmincluster

管理クラスタの登録解除

管理クラスタが GKE On-Prem API に登録されている場合は、まず API から登録解除する必要があります。管理クラスタが API に登録されるのは、クラスタを明示的に登録した場合、または Google Cloud CLI を使用してユーザー クラスタをアップグレードした場合です。

  1. プロジェクト内のすべての登録済み管理クラスタを一覧表示します。

    gcloud container vmware admin-clusters list \
         --project=PROJECT_ID \
         --location=-
    

    PROJECT_ID は、フリート ホスト プロジェクトの ID に置き換えます。

    このコマンドは、プロジェクトの GKE On-Prem API に登録されている各管理クラスタの名前と、Google Cloud リージョンを出力します。

    --location=- に設定すると、すべてのリージョンのクラスタの一覧が取得されます。リストを絞り込む必要がある場合は、クラスタの登録時に指定したリージョンを --location に設定します。

  2. GKE On-Prem API からラスタの登録を解除します。

    gcloud container vmware admin-clusters unenroll  ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=REGION
    

    次のように置き換えます。

    • ADMIN_CLUSTER_NAME: 管理クラスタの名前。
    • PROJECT_ID: フリート ホスト プロジェクトの ID。
    • REGION: Google Cloud リージョン。

    このコマンドは、Google Cloud から GKE On-Prem API リソースを削除します。

Logging と Monitoring の削除

StatefulSet からデプロイされた Google Distributed Cloud の Logging および Monitoring Pod は、ノードの適切なドレインを妨げる PDB を使用します。管理クラスタを適切に削除するには、こうした Pod を削除する必要があります。

Logging および Monitoring Pod を削除するには、次のコマンドを実行します。

kubectl delete monitoring --all -n kube-system
kubectl delete stackdriver --all -n kube-system

Monitoring を削除すると、StatefulSet に関連付けられた PersistentVolume(PV)が消去されますが、Stackdriver の PersistentVolume は個別に削除する必要があります。

Stackdriver PV の削除はオプションです。PV を削除しない場合は、関連付けられた PV の場所と名前をユーザー クラスタ外の場所に記録します。

Persistent Volume Claim(PVC)を削除すると、PV も削除されます。

Stackdriver PVC を見つけるには、次のコマンドを実行します。

kubectl get pvc -n kube-system

PVC を削除するには、次のコマンドを実行します。

kubectl delete pvc -n kube-system PVC_NAME

Logging と Monitoring の削除の確認

Logging と Monitoring が削除されたことを確認するには、次のコマンドを実行します。

kubectl get pvc -n kube-system
kubectl get statefulsets -n kube-system

管理クラスタの F5 パーティションのクリーンアップ

管理クラスタから gke-system Namespace を削除すると、F5 パーティションが適切にクリーンアップされ、パーティションを別の管理クラスタに再利用できます。

gke-system Namespace を削除するには次のコマンドを実行します。

kubectl delete ns gke-system

次に、LoadBalancer タイプの残りの Service をすべて削除します。すべての Service を一覧表示するには、次のコマンドを実行します。

kubectl get services --all-namespaces

LoadBalancer タイプの Service ごとに、次のコマンドを実行して削除します。

kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE

次に、F5 BIG-IP コンソールから次の手順を実行します。

  1. コンソールの右上で、パーティションに切り替えてクリーンアップします。
  2. [Local Traffic] > [Virtual Servers] > [Virtual Server List] の順に選択します。
  3. [Virtual Servers] メニューで、すべての仮想 IP を削除します。
  4. [Pools] を選択し、すべてのプールを削除します。
  5. [Nodes] を選択し、すべてのノードを削除します。

F5 パーティションがクリーンであることを確認する

CLI

次のコマンドを実行して、VIP が停止していることを確認します。

ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?

VIP が停止している場合は 1 が返されます。

F5 UI

F5 ユーザー インターフェースからパーティションがクリーンアップされたことを確認するには、次の手順を行います。

  1. 右上の [Partition] プルダウン メニューをクリックします。管理クラスタのパーティションを選択します。
  2. 左側の [Main] メニューから [Local Traffic] > [Network Map] を選択します。Local Traffic Network Map の下には何も表示されません。
  3. [Local Traffic] > [Virtual Servers] > [Nodes] の順にクリックし、[Nodes List] を選択します。ここにも何も表示されません。

エントリが残っている場合は、UI から手動で削除します。

管理ノードマシンの電源の切断

電源を切る前に、次のコマンドを実行してマシンの名前を取得します。

kubectl get machines -o wide

出力には、マシンの名前が列挙されます。これは vSphere UI で確認できます。

管理コントロール プレーンのノードマシンを削除するには、vSphere リソースプール内の残りの管理 VM の電源を切る必要があります。

vSphere UI

次の操作を行います。

  1. vSphere のメニューの vSphere リソースプールから VM を選択します。
  2. VM メニューの上部にある [Actions] をクリックします。
  3. [Power] > [Power Off] を選択します。VM の電源がオフになるまで数分かかることがあります。

管理ノードマシンの削除

VM の電源が切れたら、VM を削除できます。

vSphere UI

次の操作を行います。

  1. vSphere のメニューの vSphere リソースプールから VM を選択します。
  2. VM メニューの上部にある [Actions] をクリックします。
  3. [Delete from Disk] をクリックします。

データディスクの削除

データディスクは、VM を削除した後に削除できます。高可用性(HA)管理クラスタと非 HA 管理クラスタのどちらが存在するかによって、手順が少し異なります。

vSphere UI で次の操作を行います。

非 HA

  1. vSphere のメニューから、管理クラスタ構成ファイルの vCenter.dataDisk フィールドで指定されているように、データストアからデータディスクを選択します。
  2. データストア メニューで [Delete] をクリックします。

HA

3 つの管理コントロール プレーン マシンのデータディスク パスが、/anthos/ADMIN_CLUSTER/default/ の下に自動生成されます。次に例を示します。

/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-0-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-1-data.vmdk
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-2-data.vmdk

各データディスクを削除する手順は次のとおりです。

  1. vSphere メニューのデータストアからデータディスクを選択します。
  2. データストア メニューで [Delete] をクリックします。

checkpoint.yaml ファイルの削除

HA 管理クラスタを削除する場合、HA 管理クラスタはチェックポイント ファイルをサポートしていないため、この手順をスキップします。

DATA_DISK_NAME-checkpoint.yaml ファイルDATA_DISK_NAME はデータディスクの名前)は、データディスクと同じフォルダにあります。このファイルを削除します。

管理クラスタの登録解除

管理クラスタを作成する場合は、クラスタを Google Cloud フリートに登録します。次のコマンドを実行して、フリート メンバーシップを削除します。これにより、クラスタの登録が解除されます。

gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=global

このコマンドは、Google Cloud からフリート メンバーシップ リソースを削除します。

完了後

管理クラスタの削除が完了したら、その kubeconfig を削除します。