このページでは、GKE On-Prem ユーザー クラスタを手動で削除する方法について説明します。
始める前に
ユーザー クラスタを削除する前に、PodDisruptionBudgets(PDB)を使用するワークロードと、永続ボリュームなど、ユーザー クラスタに配置したすべての外部オブジェクトを削除します。
削除するユーザー クラスタの kubeconfig を指す、
KUBECONFIG
環境変数を設定します。export KUBECONFIG=[USER_CLUSTER_KUBECONFIG]
ここで、[USER_CLUSTER_KUBECONFIG] はユーザー クラスタの kubeconfig ファイルのパスです。
ユーザー クラスタの登録を解除する
ユーザー クラスタが Google Cloud に登録されている場合は、手動で登録を解除します。
Cluster オブジェクトを削除する
各ユーザー クラスタには、管理クラスタに格納された Cluster リソースがあります。手動でユーザー クラスタを削除するには、そのクラスタの Cluster オブジェクトを削除します。
管理クラスタ内のすべてのクラスタ オブジェクトを取得します。[ADMIN_CLUSTER_KUBECONFIG] は、管理クラスタの kubeconfig ファイルのパスです。
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get cluster --all-namespaces
コマンド出力で、ユーザー クラスタの名前が付いた Cluster オブジェクトを探します。
クラスタを削除します。
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete cluster [USER_CLUSTER_NAME] -n [USER_CLUSTER_NAMESPACE]
- [USER_CLUSTER_NAME] は、ユーザー クラスタの名前です。
- [USER_CLUSTER_NAMESPACE] は、ユーザー クラスタの名前を共有します。
このセクションの最初のコマンドを再度実行して、ユーザー クラスタが削除されたことを確認します。ユーザー クラスタの名前が Cluster オブジェクトのリストに表示されなくなるまで待ちます。
F5 パーティションがクリーンであることを確認する
CLI
次のコマンドを実行して、VIP が停止していることを確認します。
ping -c 1 -W 1 [F5_LOAD_BALANCER_IP]; echo $?
VIP が停止している場合は 1
が返されます。
F5 UI
F5 ユーザー インターフェースからパーティションがクリーンアップされたことを確認するには、次の手順を行います。
- 右上の [Partition] プルダウン メニューをクリックします。ユーザー クラスタのパーティションを選択します。
- 左側の [Main] メニューから [Local Traffic] > [Network Map] を選択します。Local Traffic Network Map の下には何も表示されません。
- [Local Traffic] > [Virtual Servers] > [Nodes] の順にクリックし、[Nodes List] を選択します。ここにも何も表示されません。
エントリが残っている場合は、UI から手動で削除します。
ユーザー クラスタの F5 パーティションをクリーンアップする
ユーザー クラスタのパーティションにエントリが残っている場合は、F5 BIG-IP コンソールで以下を行います。
- コンソールの右上で、パーティションに切り替えてクリーンアップします。
- [Local Traffic] > [Virtual Servers] > [Virtual Server List] の順に選択します。
- [Virtual Servers] メニューで、すべての仮想 IP を削除します。
- [Pools] を選択し、すべてのプールを削除します。
- [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 ファイルを削除する
- vSphere Web Client の左側にある [Navigator] メニューから、[Storage] メニューをクリックします。
- データセンターのリストからデータストアを選択します。
- メインペインで、[Files] をクリックします。VMDK ファイルを検索するか、ファイルのリストから探します。
- VMDK ファイルを右クリックして、[Delete File] を選択します。
完了後
ユーザー クラスタの削除と、管理クラスタ内のすべてのユーザー クラスタ関連オブジェクトの削除が完了したら、ユーザー クラスタの kubeconfig を削除します。
トラブルシューティング
詳しくは、トラブルシューティングをご覧ください。
gkectl
を使用してクラスタの問題を診断する
クラスタの問題を特定し、クラスタの情報を Google と共有するために、gkectl diagnose
コマンドを使用します。クラスタの問題を診断するをご覧ください。