管理クラスタの削除

このページでは、GKE on VMware 管理クラスタを削除する方法について説明します。

準備

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

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

    export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
    

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

管理クラスタの登録解除

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

  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 リソースを削除します。

管理クラスタの登録解除

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

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

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

Logging と Monitoring の削除

StatefulSet からデプロイされた GKE on VMware の 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. データストア メニューの中ほどから [削除] をクリックします。

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. データストア メニューの中ほどから [削除] をクリックします。

checkpoint.yaml ファイルの削除

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

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

完了後

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