このページでは、GKE On-Prem ユーザー クラスタを削除する方法について説明します。
概要
GKE On-Prem は、gkectl
を介したユーザー クラスタの削除をサポートしています。クラスタが正常でない場合(たとえば、コントロール プレーンがアクセス不可能な場合やクラスタのブートストラップに失敗した場合)は、その代わりに手動でユーザー クラスタを削除するをご覧ください。
ユーザー クラスタの削除
次のコマンドを実行します。
gkectl delete cluster \ --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \ --cluster [CLUSTER_NAME]
ここで、[ADMIN_CLUSTER_KUBECONFIG] は管理クラスタの kubeconfig ファイル、[CLUSTER_NAME] は削除するユーザー クラスタの名前です。
完了後
gkectl がユーザー クラスタの削除を完了したら、ユーザー クラスタ kubeconfig を削除します。
既知の問題
クラスタが削除されると、vSphere で追加のユーザー コントロール プレーン VM が作成されることがあります。次の手順を実行して、すべてのユーザー クラスタ VM が削除されていることを確認します。
- vSphere Web Client の左側の [ナビゲータ] メニューで、[ホストとクラスタ] メニューをクリックします。
- リソースプールを見つけます。
- ユーザー クラスタ名の接頭辞が付けられている VM がないようにしてください。
残りのユーザー クラスタ VM がある場合は、vSphere Web Client から次の手順を実行します。
- ユーザー クラスタ VM を右クリックし、[Power]、[Power Off] の順に選択します。
- VM の電源が切れたら、VM を右クリックして、[Delete from Disk] を選択します。
トラブルシューティング
詳しくは、トラブルシューティングをご覧ください。
gkectl
を使用してクラスタの問題を診断する
クラスタの問題を特定し、クラスタの情報を Google と共有するために、gkectl diagnose
コマンドを使用します。クラスタの問題を診断するをご覧ください。
デフォルトのロギング動作
gkectl
と gkeadm
では、デフォルトのロギング設定を使用するだけで十分です。
-
デフォルトでは、ログエントリは次のように保存されます。
gkectl
の場合、デフォルトのログファイルは/home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log
で、このファイルはgkectl
を実行するローカル ディレクトリのlogs/gkectl-$(date).log
ファイルにシンボリック リンクされます。gkeadm
の場合、デフォルトのログファイルは、gkeadm
を実行するローカル ディレクトリのlogs/gkeadm-$(date).log
です。
- すべてのログエントリは、ターミナルに出力されていない場合(
--alsologtostderr
がfalse
の場合)でもログファイルに保存されます。 -v5
詳細レベル(デフォルト)は、サポートチームが必要とするログエントリすべてを対象としています。- ログファイルには、実行されたコマンドと失敗メッセージも含まれます。
サポートが必要な場合は、サポートチームにログファイルを送信することをおすすめします。
ログファイルにデフォルト以外の場所を指定する
gkectl
ログファイルにデフォルト以外の場所を指定するには、--log_file
フラグを使用します。指定したログファイルは、ローカル ディレクトリにシンボリック リンクされません。
gkeadm
ログファイルにデフォルト以外の場所を指定するには、--log_file
フラグを使用します。
管理クラスタで Cluster API ログを見つける
管理コントロール プレーンの起動後に VM が起動しない場合は、管理クラスタの Cluster API コントローラのログを調べてデバッグを試すことができます。
kube-system
Namespace で Cluster API コントローラ Pod の名前を確認します。ここで、[ADMIN_CLUSTER_KUBECONFIG] は管理クラスタの kubeconfig ファイルのパスです。kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
Pod のログを開きます。ここで、[POD_NAME] は Pod の名前です。必要に応じて、
grep
または同様のツールを使用してエラーを検索します。kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager