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

このページでは、Google Kubernetes Engine クラスタを自動スケーリングする方法について説明します。クラスタ オートスケーラーの動作方法については、クラスタ オートスケーラーをご覧ください。

クラスタ オートスケーラーの使い方

以下では、クラスタ オートスケーラーの使い方を説明します。

自動スケーリングを使用したクラスタの作成

gcloud

次のコマンドでは、サイズが 30 で、クラスタの負荷に基づいて最大 50 ノードから最小 15 ノードの間でデフォルト ノードプールを自動スケーリングするクラスタが作成されます。

gcloud container clusters create [CLUSTER_NAME] --num-nodes 30 \
    --enable-autoscaling --min-nodes 15 --max-nodes 50 [--zone [COMPUTE_ZONE]]

コマンドの内容:

  • --enable-autoscaling により、自動スケーリングが有効になります。
  • --min-nodes には、デフォルト ノードプール内のノード数の下限を指定します。
  • --max-nodes には、デフォルト ノードプール内のノード数の上限を指定します。
  • --zone には、オートスケーラーが新しいノードを作成するコンピューティング ゾーンを指定します。

Console

デフォルト ノードプールの自動スケーリングが有効にされたクラスタを作成する手順は次のとおりです。

  1. GCP Console で Google Kubernetes Engine のメニューにアクセスします。

    Google Kubernetes Engine のメニューに移動

  2. [クラスタを作成] をクリックします。

  3. 必要に応じてクラスタを構成し、デフォルト ノードプールの [その他のオプション] をクリックします。

  4. [サイズ] セクションで、[自動スケーリングの有効化] を選択します。

  5. 必要に応じて [最小サイズ] フィールドと [最大サイズ] フィールドの値を変更します。

  6. [保存] をクリックして、[その他のオプション] のオーバーレイを閉じます。

  7. [作成] をクリックします。

自動スケーリング対応のノードプールの追加

gcloud

次のコマンドは、サイズが 3(デフォルト)のノードプールを作成します。ノードの自動スケーリングは、クラスタの負荷に基づいて行われ、ノードプールを最大 5 ノードと最小 1 ノードの範囲内でスケーリングします。

gcloud container node-pools create [POOL_NAME] --cluster [CLUSTER_NAME] \
    --enable-autoscaling --min-nodes 1 --max-nodes 5 [--zone [COMPUTE_ZONE]

コマンドの内容:

  • --cluster には、ノードが作成されるクラスタを指定します。
  • --enable-autoscaling により、自動スケーリングが有効になります。
  • --min-nodes には、ノードプール内のノード数の下限を指定します。
  • --max-nodes には、ノードプール内のノード数の上限を指定します。
  • --zone には、オートスケーラーが新しいノードを作成するコンピューティング ゾーンを指定します。

Console

自動スケーリング対応のノードプールを既存のクラスタに追加する手順は次のとおりです。

  1. GCP Console で Google Kubernetes Engine のメニューにアクセスします。

    Google Kubernetes Engine のメニューにアクセスする

  2. 目的のクラスタをクリックしてから、[編集] をクリックします。

  3. ページ下部にある [ノードプール] メニューで、[ノードプールを追加] をクリックします。

  4. 必要に応じてノードプールを構成してから、[自動スケーリング] プルダウン メニューで [オン] を選択します。

  5. [保存] をクリックします。

既存のノードプールの自動スケーリングを有効にする

gcloud

既存のノードプールの自動スケーリングを有効にするには、次のコマンドを実行します。

gcloud container clusters update [CLUSTER_NAME] --enable-autoscaling \
    --min-nodes 1 --max-nodes 10 --zone [COMPUTE_ZONE] --node-pool default-pool

コマンドの内容:

  • --enable-autoscaling により、自動スケーリングが有効になります。
  • --node-pool には、自動スケーリングを有効にするノードプールを指定します。
  • --min-nodes には、ノードプール内のノード数の下限を指定します。
  • --max-nodes には、ノードプール内のノード数の上限を指定します。
  • --zone には、クラスタのコンピューティング ゾーンを指定します。
  • --node-pool には、目的のノードプールを指定します。ノードプールが 1 つしかない場合は、このフラグに default-pool を指定します。

Console

特定のノードプールの自動スケーリングを有効にする手順は次のとおりです。

  1. GCP Console で Google Kubernetes Engine のメニューにアクセスします。

    Google Kubernetes Engine のメニューにアクセスする

  2. 目的のクラスタをクリックしてから、[編集] をクリックします。

  3. ページ下部にある [ノードプール] メニューで、目的のノードプールのタイトルをクリックして選択し、展開します。デフォルトのノードプールは、デフォルトで展開されています。

  4. [自動スケーリング] プルダウン メニューから、[オン] をクリックします。

  5. 必要に応じて [最小サイズ] フィールドと [最大サイズ] フィールドの値を変更します。

  6. [保存] をクリックします。

既存のノードプールの自動スケーリングを無効にする

gcloud

特定のノードプールの自動スケーリングを無効にするには、次のコマンドを実行します。

gcloud container clusters update [CLUSTER_NAME] --no-enable-autoscaling \
--node-pool [POOL_NAME] [--zone [COMPUTE_ZONE] --project [PROJECT_ID]]

このコマンドでは、--no-enable-autoscaling により、クラスタの自動スケーリングが無効になります。

クラスタのサイズは、クラスタの現在のデフォルト ノードプールのサイズに固定されます。このサイズは手動で更新できます。

Console

特定のノードプールの自動スケーリングを無効にする手順は次のとおりです。

  1. GCP Console で Google Kubernetes Engine のメニューにアクセスします。

    Google Kubernetes Engine のメニューにアクセスする

  2. 単一のクラスタにラベルを追加するには、鉛筆の形をしたクラスタの編集ボタンをクリックします。

  3. ページ下部にある [ノードプール] メニューで、目的のノードプールのタイトルをクリックして選択し、展開します。デフォルトのノードプールは、デフォルトで展開されています。

  4. [自動スケーリング] プルダウン メニューから、[オフ] をクリックします。

  5. [保存] をクリックします。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Kubernetes Engine のドキュメント