ノードプールを削除する

このページでは、GKE on AWS でノードプールを削除する方法について説明します。

始める前に

このページは、クラスタ オートスケーラーについて熟知していることを前提としています。詳細については、クラスタ オートスケーラーをご覧ください。

ノードプールを削除する

ノードプールを削除するには、次のコマンドを実行します。

コンソール

  1. Google Cloud コンソールで、Google Kubernetes Engine クラスタの概要ページに移動します。

    GKE クラスタに移動

  2. クラスタが存在する Google Cloud プロジェクトを選択します。

  3. クラスタのリストでクラスタの名前を選択し、サイドパネルで [詳細を表示] を選択します。

  4. [ノード] タブを選択して、すべてのノードプールのリストを表示します。

  5. リストからノードプールを選択します。

  6. ウィンドウの上部にある 削除)をクリックします。

    削除に失敗した場合は、「gcloud」タブの手順に沿って、--ignore-errors フラグを追加して gcloud container aws node-pools delete コマンドを実行します。

gcloud

  1. ノードプールのリストを取得します。

    gcloud container aws node-pools list \
      --cluster CLUSTER_NAME \
      --location GOOGLE_CLOUD_LOCATION
    

    次のように置き換えます。

    • CLUSTER_NAME: ノードプールが接続されているクラスタの名前
    • GOOGLE_CLOUD_LOCATION: ノードプールをホストしている Google Cloud のロケーション
  2. ノードプールごとに、次のコマンドで削除します。

    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 を使用せずに各ノードで正常なシャットダウンを実行します。次の処理が行われます。

  1. クラスタ オートスケーラーが有効になっている場合は無効にします。
  2. ドレイン プロセスの期限を設定します。この期限を過ぎると、Pod オブジェクトがまだ存在していても、GKE on AWS はドレインを停止し、基盤となる仮想マシンの削除に進みます。デフォルトの期限は 5 分です。10 個のノードごとに 5 分が追加されます。
  3. ノードプール内のすべてのノードを閉鎖します。
  4. 期限が切れる前に、ノードプール内の Pod オブジェクトをできる限り削除します。
  5. 基盤となるコンピューティング リソースをすべて削除します。

次のステップ