手動によるユーザー クラスタの削除

このページでは、GKE On-Prem ユーザー クラスタを手動で削除する方法について説明します。

始める前に

  • ユーザー クラスタを削除する前に、PodDisruptionBudgets(PDB)を使用するワークロードと、永続ボリュームなど、ユーザー クラスタに配置したすべての外部オブジェクトを削除します。

  • 削除するユーザー クラスタの kubeconfig を指す、KUBECONFIG 環境変数を設定します。

    export KUBECONFIG=[USER_CLUSTER_KUBECONFIG]
    

    ここで、[USER_CLUSTER_KUBECONFIG] はユーザー クラスタの kubeconfig ファイルのパスです。

ユーザー クラスタの登録を解除する

ユーザー クラスタが Google Cloud に登録されている場合は、手動で登録を解除します。

Cluster オブジェクトを削除する

各ユーザー クラスタには、管理クラスタに格納された Cluster リソースがあります。手動でユーザー クラスタを削除するには、そのクラスタの Cluster オブジェクトを削除します。

  1. 管理クラスタ内のすべてのクラスタ オブジェクトを取得します。[ADMIN_CLUSTER_KUBECONFIG] は、管理クラスタの kubeconfig ファイルのパスです。

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get cluster --all-namespaces

    コマンド出力で、ユーザー クラスタの名前が付いた Cluster オブジェクトを探します。

  2. クラスタを削除します。

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete cluster [USER_CLUSTER_NAME] -n [USER_CLUSTER_NAMESPACE]
    
    • [USER_CLUSTER_NAME] は、ユーザー クラスタの名前です。
    • [USER_CLUSTER_NAMESPACE] は、ユーザー クラスタの名前を共有します。
  3. このセクションの最初のコマンドを再度実行して、ユーザー クラスタが削除されたことを確認します。ユーザー クラスタの名前が Cluster オブジェクトのリストに表示されなくなるまで待ちます。

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 から手動で削除します。

ユーザー クラスタの F5 パーティションをクリーンアップする

ユーザー クラスタのパーティションにエントリが残っている場合は、F5 BIG-IP コンソールで以下を行います。

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

ユーザー クラスタの名前空間を削除する

ユーザー クラスタの名前空間を削除するには、次のコマンドを実行します。

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete ns [USER_CLUSTER_NAMESPACE]

次のコマンドを実行して、ユーザー クラスタの名前空間が削除されたことを確認します。

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get namespaces

ユーザー コントロール プレーンを削除する

ユーザー コントロール プレーンを削除するには、管理クラスタの kubeconfig を使用してユーザー クラスタ コントロール プレーンの MachineDeployment リソースを削除する必要があります。

MachineDeployment を削除するには:

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete machinedeployments -l kubernetes.googleapis.com/cluster-name=[USER_CLUSTER_NAME]

ユーザー クラスタ コントロール プレーンのノードマシンが削除されるのを待ってから、次の手順に進みます。進行状況は、次のコマンドを実行して確認できます。

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get machines -l kubernetes.googleapis.com/cluster-name=[USER_CLUSTER_NAME]

VMDK ファイルを削除する

  1. vSphere Web Client の左側にある [Navigator] メニューから、[Storage] メニューをクリックします。
  2. データセンターのリストからデータストアを選択します。
  3. メインペインで、[Files] をクリックします。VMDK ファイルを検索するか、ファイルのリストから探します。
  4. VMDK ファイルを右クリックして、[Delete File] を選択します。

完了後

ユーザー クラスタの削除と、管理クラスタ内のすべてのユーザー クラスタ関連オブジェクトの削除が完了したら、ユーザー クラスタの kubeconfig を削除します。

トラブルシューティング

詳しくは、トラブルシューティングをご覧ください。

gkectl を使用してクラスタの問題を診断する

クラスタの問題を特定し、クラスタの情報を Google と共有するために、gkectl diagnose コマンドを使用します。クラスタの問題を診断するをご覧ください。