クラスタのサイズ変更

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、クラスタのサイズを変更する方法について説明します。クラスタのサイズを変更して、クラスタ内のノードの数を増減できます。ノードプールを追加する方法と既存のノードプールを管理する方法については、ノードプールの追加と管理をご覧ください。

クラスタでノードを追加または削除すると、Google Kubernetes Engine(GKE)は、ノードプールにプロビジョニングされた基盤となる Compute Engine マネージド インスタンス グループ(MIG)から、関連付けられた仮想マシン(VM)インスタンスを追加または削除します。

クラスタのサイズを大きくする

クラスタのサイズを大きくする場合:

  • 既存のインスタンスと同じ構成を使用して新しいノード インスタンスが作成されます
  • 新しいポッドを新しいインスタンスにスケジュールできます
  • 既存の Pod が新しいインスタンスに移動されることはありません

クラスタのサイズを小さくする

クラスタのサイズを小さくする場合:

  • 削除するインスタンスに対してスケジュールされたポッドは強制終了されます
  • レプリケーション コントローラによって管理されているポッドは、コントローラによって残りのインスタンスに再スケジュールされます
  • レプリケーション コントローラで管理されていない Pod は再起動されません

MIG は、Pod を実行しているインスタンスと Pod を実行していないインスタンスを区別しません。サイズを小さくすると、ランダムにインスタンスが削除されます。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にします。
  • Google Kubernetes Engine API を有効にする
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化します。

クラスタのサイズを変更する

gcloud

クラスタのノードプールのサイズを変更するには、gcloud container clusters resize コマンドを実行します。

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

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

  • CLUSTER_NAME: サイズを変更するクラスタの名前。
  • POOL_NAME: サイズを変更するノードプールの名前。
  • NUM_NODES: ゾーンクラスタ内のプール内のノードの数。マルチゾーン クラスタまたはリージョン クラスタを使用する場合、NUM_NODES はノードプールが存在している各ゾーンのノード数です。

各ノードプールに対してこのコマンドを繰り返します。クラスタにノードプールが 1 つしかない場合は、--node-pool フラグを省略します。

Console

クラスタのノードプールのサイズを変更するには、次の手順を行います。

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. 編集するクラスタの横にある [アクション] をクリックし、[編集] をクリックします。

  3. [詳細] タブの横にある [ノード] タブをクリックします。

  4. [ノードプール] セクションで、サイズを変更するノードプールの名前をクリックします。

  5. [サイズ変更] をクリックします。

  6. [ノード数] フィールドに、ノードプールに含めるノード数を入力し、[サイズ変更] をクリックします。

  7. 必要に応じてノードプールごとに同じ操作を繰り返します。

ドレインを使用してクラスタのサイズを小さくする

クラスタのサイズを手動で小さくして、各インスタンスの Pod をドレインした後で削除することができます。

ノードプールを追加する方法と既存のノードプールを管理する方法については、ノードプールの追加と管理をご覧ください。

クラスタのサイズを小さくしてドレインするには、gcloud container clusters resize コマンドを実行します。

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
  --num-nodes NUM_NODES

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

  • CLUSTER_NAME: サイズを変更するクラスタの名前。
  • POOL_NAME: サイズを変更するノードプールの名前。
  • NUM_NODES: ゾーンクラスタ内のプール内のノードの数。マルチゾーン クラスタまたはリージョン クラスタを使用する場合、NUM_NODES はノードプールが存在している各ゾーンのノード数です。

クラスタの自動スケーリング

Kubernetes Engine のクラスタ オートスケーラー機能は、ワークロードやリソースの使用状況の変化などの状況の変化に応じて、ノードプールのサイズを自動的に変更します。

自動スケーリングの仕組みの詳細については、クラスタ オートスケーラーのドキュメントをご覧ください。クラスタに自動スケーリングを設定する方法については、クラスタの自動スケーリングを参照してください。

次のステップ