ノードプール

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

概要

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

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

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

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

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

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

--additional-zones フラグを使用するか、Cloud Platform Console で [その他のゾーン] オプションを有効にしてクラスタを作成した場合は、すべてのノードプールが追加ゾーンに自動的に複製されます。新しく作成したノードプールは、追加ゾーンにも自動的に作成されます。同様に、ノードプールを削除すると、それらは追加ゾーンからも削除されます。

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

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

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

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

Console

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

  1. Google Cloud Platform Console の [Kubernetes Engine] メニューにアクセスします。

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

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

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

gcloud

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

gcloud container node-pools create [POOL-NAME] --zone [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. Google Cloud Platform Console の [Kubernetes Engine] メニューにアクセスします。

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

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

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

gcloud

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

gcloud container node-pools list --zone [ZONE] --cluster [CLUSTER-NAME]

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

gcloud container node-pools describe [POOL-NAME] --zone [ZONE] --cluster [CLUSTER-NAME]

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

Console

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

  1. Google Cloud Platform Console の [Kubernetes Engine] メニューにアクセスします。

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

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

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

gcloud

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

gcloud container clusters upgrade [CLUSTER-NAME] --zone [ZONE]

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

gcloud container clusters upgrade [CLUSTER-NAME] --node-pool [POOL-NAME] --zone [ZONE]

ノードプールを削除する

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

Console

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

  1. Google Cloud Platform Console の [Kubernetes Engine] メニューにアクセスします。

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

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

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

gcloud

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

gcloud container node-pools delete [NAME] --zone [ZONE] --cluster [CLUSTER-NAME]

次のステップ

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

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