このページでは、GKE on AWS でノードプールを削除する方法について説明します。
始める前に
このページは、クラスタ オートスケーラーについて熟知していることを前提としています。詳細については、クラスタ オートスケーラーをご覧ください。
ノードプールを削除する
ノードプールを削除するには、次のコマンドを実行します。
コンソール
Google Cloud コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。
クラスタが存在する Google Cloud プロジェクトを選択します。
クラスタのリストでクラスタの名前を選択し、サイドパネルで [詳細を表示] を選択します。
[ノード] タブを選択して、すべてのノードプールのリストを表示します。
リストからノードプールを選択します。
ウィンドウの上部にある
(削除)をクリックします。削除に失敗した場合は、「
gcloud
」タブの手順に沿って、--ignore-errors
フラグを追加してgcloud container aws node-pools delete
コマンドを実行します。
gcloud
ノードプールのリストを取得します。
gcloud container aws node-pools list \ --cluster CLUSTER_NAME \ --location GOOGLE_CLOUD_LOCATION
次のように置き換えます。
CLUSTER_NAME
: ノードプールが接続されているクラスタの名前GOOGLE_CLOUD_LOCATION
: ノードプールをホストしている Google Cloud のロケーション
ノードプールごとに、次のコマンドで削除します。
gcloud container aws node-pools delete NODE_POOL_NAME \ --cluster CLUSTER_NAME \ --location GOOGLE_CLOUD_LOCATION
次のように置き換えます。
NODE_POOL_NAME
: 削除するノードプールの名前CLUSTER_NAME
GOOGLE_CLOUD_LOCATION
コマンドがエラーを返して削除に失敗した場合は、
--ignore-errors
フラグを指定してコマンドを再度実行することで、強制的に削除できます。このフラグはバージョン 1.29 以降で使用できます。
ノードプールの削除中に GKE on AWS がワークロードを保護する仕組み
ノードプールの削除中、GKE on AWS は、PodDisruptionBudget を使用せずに各ノードで正常なシャットダウンを実行します。次の処理が行われます。
- クラスタ オートスケーラーが有効になっている場合は無効にします。
- ドレイン プロセスの期限を設定します。この期限を過ぎると、Pod オブジェクトがまだ存在していても、GKE on AWS はドレインを停止し、基盤となる仮想マシンの削除に進みます。デフォルトの期限は 5 分です。10 個のノードごとに 5 分が追加されます。
- ノードプール内のすべてのノードを閉鎖します。
- 期限が切れる前に、ノードプール内の Pod オブジェクトをできる限り削除します。
- 基盤となるコンピューティング リソースをすべて削除します。
次のステップ
- gcloud container aws ノードプールのリファレンス ガイドを読む。