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

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

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

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

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

gcloud

自動スケーリングを使用してクラスタを作成するには、--enable-autoscalingフラグを使用して--min-nodes--max-nodes を指定します。

次のコマンドは 30 ノードのクラスタを作成します。ノード自動スケーリングが有効になり、クラスタ負荷に基づいてノード数が変更されます。このクラスタ オートスケーラーは、デフォルトのノードプールのサイズを最小で 15 ノード、最大で 50 ノードまで変化させることができます。

gcloud container clusters create cluster-name --num-nodes 30 \
        --enable-autoscaling --min-nodes 15 --max-nodes 50 [--zone compute-zone]
    

コマンドの内容:

  • --num-nodes では、クラスタの各ゾーンに作成するノードの数を指定します。デフォルトは 3 です。
  • --enable-autoscaling は、自動スケーリングが有効であることを示します。
  • --min-nodes には、デフォルト ノードプール内の最小ノード数を指定します。
  • --max-nodes には、デフォルト ノードプール内の最大ノード数を指定します。
  • --zone には、オートスケーラーが新しいノードを作成するコンピューティング ゾーンを指定します。

Console

デフォルト ノードプールの自動スケーリングが有効にされたクラスタを新しく作成するには:

  1. Cloud Console で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

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

  3. 必要に応じてクラスタを構成します。

  4. ナビゲーション ペインの [ノードプール] で [default-pool] をクリックします。

  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. Cloud Console で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

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

  3. [ノードプールを追加] をクリックします。

  4. 必要に応じてノードプールを構成します。

  5. [サイズ] セクションで、[自動スケーリングの有効化] チェックボックスをオンにします。

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

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

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

gcloud

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

gcloud container clusters update cluster-name --enable-autoscaling \
        --min-nodes 1 --max-nodes 10 --zone compute-zone --node-pool default-pool
    

コマンドの内容:

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

Console

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

  1. Cloud 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. Cloud Console で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

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

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

  4. [サイズ] セクションで、[自動スケーリングの有効化] チェックボックスをオフにします。

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

次のステップ