このページでは、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 ノードプールのリファレンス ガイドを読む。