ノードプール

このページでは、ノードプールの概要と、Google Kubernetes Engine でノードプールを使用する方法について説明します。

概要

ノードプールとは、同じクラスタに含まれる、すべてが同じように構成されたノード インスタンスのサブセットです。

コンテナ クラスタの作成時に指定するノードの数とタイプが、デフォルトのノードプールになります。その後は、さまざまなサイズとタイプのカスタム ノードプールをクラスタに追加できます。特定のノードプール内のノードはすべて同一になります。

たとえば、ローカル SSD最小 CPU プラットフォームプリエンプティブ VM、特定のノードイメージ、より大きなインスタンス サイズ、またはさまざまなマシンタイプを使用して、クラスタ内のノードプールを作成することができます。カスタム ノードプールは、他より多くのリソース(メモリやローカル ディスク容量など)を必要とするポッドをスケジュールする必要がある場合に役立ちます。ポッドをスケジュールする場所をより細かく制御するには、ノードテイントを使用できます。

gcloud container node-pools コマンドを使用すると、クラスタ全体に影響を与えずにノードプールを個別に作成、アップグレード、削除できます。

デフォルトでは、新しいノードプールはすべて最新の安定したバージョンの Kubernetes を実行します。既存のノードプールは手動でアップグレードすることも、自動的にアップグレードすることもできます。クラスタ内の各ノードプールで複数の Kubernetes ノード バージョンを実行したり、ノードプールを個別に更新したり、特定のデプロイに対して異なるノードプールをターゲットとして指定したりすることもできます。

マルチゾーン クラスタ内のノード

マルチゾーン クラスタを作成した場合は、ノードプールのすべてが、クラスタを構成するすべてのゾーンに自動的に複製されます。新しいノードプールも、これらのゾーンに自動的に作成されます。同様に、あるゾーンからノードプールを削除すると、それらのノードプールが他のゾーンからも削除されます。

この乗法効果のため、ノードプールを作成すると、特定のリージョンに対するプロジェクトの割り当ての消費が増える場合があります。

詳しくは、マルチゾーン クラスタとリージョン クラスタをご覧ください。

カスタム ノードプールを作成する

ノードプールは、NodeConfig 仕様に従って作成されます。プール内の各ノードの Kubernetes ノードラベルでは、キー cloud.google.com/gke-nodepool にそのノードプールの名前が設定されます。

Console

既存のクラスタにノードプールを追加するには、次の手順を行います。

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

    [Kubernetes Engine] メニューにアクセスする

  2. 目的のクラスタを選択します。

  3. [編集] をクリックします。
  4. [ノードプール] メニューから、[ノードプールを追加] をクリックします。
  5. 必要に応じてノードプールを設定します。自動アップグレードや自動スケーリングなどの詳細オプションを有効にするには、[その他] をクリックします。
  6. [保存] をクリックします。

gcloud

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

gcloud container node-pools create [POOL_NAME] --zone [COMPUTE_ZONE] --cluster [CLUSTER_NAME]

オプション フラグ:

オプションの完全なリストについては、gcloud container node-pools create のドキュメントをご覧ください。

node-pools create リクエストが正しく処理されると、ノードプール情報が返されます。

Creating node pool example-pool...done.
Created [https://container.googleapis.com/v1/projects/kubernetes-engine-docs/zones/us-central1-f/clusters/example-cluster/nodePools/example-pool].
NAME          MACHINE_TYPE   DISK_SIZE_GB  NODE_VERSION
  example-pool  n1-standard-1  100           1.2.4

クラスタのノードプールを表示する

Console

クラスタのノードプールを表示するには、次の手順を行います。

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

    [Kubernetes Engine] メニューにアクセスする

  2. 目的のクラスタを選択します。

  3. [ノードプール] メニューから、目的のノードプールの横にある開示アイコンをクリックします。メニューが展開され、ノードプールの詳細が表示されます。

gcloud

クラスタのすべてのノードプールを一覧表示するには、次のように gcloud node-pools list コマンドを実行します。

gcloud container node-pools list --zone [COMPUTE_ZONE] --cluster [CLUSTER_NAME]

特定のノードプールの詳細を表示するには、次のように gcloud node-pools describe コマンドを実行します。

gcloud container node-pools describe [POOL_NAME] --zone [COMPUTE_ZONE] --cluster [CLUSTER_NAME]

ノードプールのサイズを変更する

Console

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

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

    [Kubernetes Engine] メニューにアクセスする

  2. 目的のクラスタを選択します。

  3. [編集] をクリックします。
  4. [ノードプール] メニューで、[現在のサイズ] フィールドの値を必要な値に変更します。必要に応じてノードプールごとに同じ操作を繰り返します。
  5. [保存] をクリックします。

gcloud

クラスタのノードプールのサイズを変更するには、gcloud container clusters resize コマンドを使用します。クラスタの名前、対象とするノードプールの名前、および新しいノード数を指定する必要があります。

gcloud container clusters resize [CLUSTER_NAME] --node-pool=[NODE_POOL] --size=[SIZE] [--zone=[COMPUTE_ZONE]] [--project=[PROJECT_ID]]

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

詳細については、gcloud container clusters resize のドキュメントをご覧ください。

ノードプールをアップグレードする

Console

ノードプールをアップグレードするには、次の手順を行います。

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

    [Kubernetes Engine] メニューにアクセスする

  2. 目的のクラスタを選択します。

  3. [ノードプール] メニューから、目的のノードプールの横にある [アップグレード] リンクをクリックします。
  4. 目的の Kubernetes バージョンを選択します。
  5. [変更] をクリックします。

gcloud

すべてのノードを最新の Kubernetes バージョンに更新するには、gcloud container clusters upgrade コマンドを実行します。

gcloud container clusters upgrade [CLUSTER_NAME] --zone [COMPUTE_ZONE]

特定のノードプールを更新するには、次のように --node-pool フラグを指定します。

gcloud container clusters upgrade [CLUSTER_NAME] --node-pool [POOL_NAME] --zone [COMPUTE_ZONE]

ノードプールを削除する

ノードプールを削除すると、ノードとそのノードへのルートが削除されます。それらのノードで実行されているポッドはすべて強制排除され、再スケジュールされます。ポッドに特定のノードセレクタが設定されており、クラスタ内の他のノードが条件を満たさない場合、そのポッドはスケジュールできない状態のままになることがあります。

Console

ノードプールを削除するには、次の手順を行います。

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

    [Kubernetes Engine] メニューにアクセスする

  2. 目的のクラスタを選択します。

  3. [編集] をクリックします。
  4. [ノードプール] メニューから、目的のノードプールの横にある編集アイコンをクリックします。
  5. ノードプールを削除するには、削除アイコンをクリックします。
  6. [保存] をクリックします。

gcloud

ノードプールを削除するには、次のように gcloud node-pools delete コマンドを実行します。

gcloud container node-pools delete [NAME] --zone [COMPUTE_ZONE] --cluster [CLUSTER_NAME]

次のステップ

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

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