クラスタの管理

このページでは、Google Kubernetes Engine(GKE)でクラスタを管理する方法を説明します。クラスタの仕組みについては、クラスタのアーキテクチャをご覧ください。

始める前に

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

次のいずれかの方法で gcloud のデフォルトの設定を指定します。

  • gcloud init。デフォルトの設定全般を確認する場合に使用します。
  • gcloud config。プロジェクト ID、ゾーン、リージョンを個別に設定する場合に使用します。

gcloud init の使用

エラー One of [--zone, --region] must be supplied: Please specify location を受信した場合は、このセクションの内容を実施します。

  1. gcloud init を実行して、次の操作を行います。

    gcloud init

    リモート サーバーで SSH を使用している場合は、--console-only フラグを指定して、コマンドがブラウザを起動しないようにします。

    gcloud init --console-only
  2. 手順に従って gcloud を承認し、Google Cloud アカウントを使用します。
  3. 新しい構成を作成するか、既存の構成を選択します。
  4. Google Cloud プロジェクトを選択します。
  5. ゾーンクラスタの場合はデフォルトの Compute Engine ゾーン、リージョン クラスタまたは Autopilot クラスタの場合はデフォルトの Compute Engine リージョンを選択します。

gcloud config の使用

  • デフォルトのプロジェクト ID を設定します。
    gcloud config set project PROJECT_ID
  • ゾーンクラスタを使用する場合は、デフォルトのコンピューティング ゾーンを設定します。
    gcloud config set compute/zone COMPUTE_ZONE
  • Autopilot クラスタまたはリージョン クラスタを使用する場合は、デフォルトのコンピューティング リージョンを設定します。
    gcloud config set compute/region COMPUTE_REGION
  • gcloud を最新バージョンに更新します。
    gcloud components update

クラスタを表示する

gcloud

特定のクラスタを表示するには、次のコマンドを実行します。

gcloud container clusters describe CLUSTER_NAME

CLUSTER_NAME は、使用するクラスタの名前に置き換えます。

デフォルト ゾーン内のすべてのクラスタを表示するには、次のコマンドを実行します。

gcloud container clusters list

Console

クラスタを表示するには、Cloud Console で Google Kubernetes Engine のメニューに移動します。

Google Kubernetes Engine のメニューに移動

クラスタの詳細情報を表示するには、リストからクラスタを選択します。

kubectl のデフォルト クラスタの設定

複数のクラスタがある場合は、kubectl コマンドライン ツール用のデフォルト クラスタを設定できます。

詳細については、kubectl コマンドのデフォルト クラスタを設定するをご覧ください。

gcloud のデフォルト クラスタの設定

gcloud コマンドのデフォルト クラスタを設定するには、次のコマンドを実行します。

gcloud config set container/cluster CLUSTER_NAME

CLUSTER_NAME は、使用するクラスタの名前に置き換えます。

クラスタのアップグレード

デフォルトでは、GKE はクラスタを自動的にアップグレードします。ただし、Standard クラスタをご自分でアップグレードすることもできます。詳細については、クラスタの手動アップグレードをご覧ください。

クラスタのアップグレードに関するガイダンスについては、クラスタのアップグレードに関するベスト プラクティスをご覧ください。

ゾーンの追加または削除

このセクションは、Standard モードで作成されたクラスタにのみ適用されます。

以降のセクションでは、クラスタゾーンを追加または削除する方法を説明します。

ゾーンクラスタのゾーンを変更する

既存のゾーンクラスタについては、ゾーンを追加または削除できます。

gcloud

ゾーンクラスタのゾーンを追加または削除するには、gcloud container clusters update コマンドを使用します。

gcloud container clusters update CLUSTER_NAME \
  --zone COMPUTE_ZONE \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

以下を置き換えます。

  • CLUSTER_NAME: クラスタに付ける名前。
  • COMPUTE_ZONE: クラスタ コントロール プレーンのゾーン。
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: ノードが作成されるゾーン。クラスタに必要な数だけゾーンを指定できます。すべてのゾーンは、--zone フラグで指定された、クラスタのコントロール プレーンと同じリージョンに存在する必要があります。ゾーンクラスタの場合、--node-locations にはクラスタのプライマリ ゾーンが含まれている必要があります。

たとえば、example-clusterus-central1-a で実行されているとします。さらに 2 つのゾーンをクラスタに追加するには、次のコマンドを実行します。

gcloud container clusters update example-cluster \
  --zone us-central1-a
  --node-locations us-central1-a,us-central1-b,us-central1-c

別の例として、example-clusterus-central1-aus-central1-bus-central1-c で実行されているとします。クラスタを us-central1-aus-central1-b のみで実行させる場合は、次のコマンドを実行します。

gcloud container clusters update example-cluster \
  --zone us-central1-a \
  --node-locations us-central1-a,us-central1-b

Console

既存のクラスタでゾーンを追加または削除するには、次の手順を行います。

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

    Google Kubernetes Engine のメニューに移動

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

  3. [詳細] タブの [デフォルトのノードゾーン] フィールドで、[ ノードプールを編集] をクリックします。

  4. 目的のゾーンを選択し、変更を保存します。

リージョン クラスタのゾーンを変更する

このセクションは、Standard モードで作成されたクラスタにのみ適用されます。

現時点では、既存のリージョン クラスタのゾーンの変更は、gcloud コマンドを使用した方法のみ可能です。

リージョン クラスタのゾーンを追加または削除するには、--region フラグを指定した gcloud container clusters update コマンドを使用します。

gcloud container clusters update CLUSTER_NAME \
  --region COMPUTE_REGION \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

以下を置き換えます。

  • CLUSTER_NAME: クラスタの名前。
  • COMPUTE_REGION: クラスタが稼働しているリージョン
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: ノードが作成される、コントロール プレーン リージョンのゾーン。ゾーンは、--region フラグで指定された、クラスタのコントロール プレーンと同じ COMPUTE_REGION に存在する必要があります。

たとえば、example-clusterus-central1-aus-central1-b で実行されているとします。 us-central1-c を追加するには、次のコマンドを実行します。

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b,us-central1-c

別の例として、example-clusterus-central1-aus-central1-bus-central1-c で実行されているとします。クラスタを us-central1-aus-central1-b のみで実行させる場合は、次のコマンドを実行します。

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b

クラスタのサイズ変更

Standard クラスタのサイズを変更して、クラスタ内のノードの数を増減できます。たとえば、クラスタを削除せずにクラスタでリソースを消費しないようにするには、ノードをゼロにスケールダウンします。サイズ変更の詳細については、クラスタのサイズ変更をご覧ください。

オートパイロット クラスタは、Pod の仕様に基づいて自動的にサイズが調整されます。そのため、クラスタのサイズを変更する必要はありません。たとえば、Pod のレプリカの数や、リクエストするリソースを変更すると、クラスタのサイズに応じて適切なサイズが設定されます。

クラスタをさらに効率的に最適化するには、垂直 Pod 自動スケーリング(VPA)も使用できます。オートスケーラーは、CPU リクエストの値とメモリのリクエストと制限の値を推奨したり、それらの値を自動的に更新したりできます。

クラスタの削除

必要に応じて、クラスタを削除できます。詳細については、クラスタの削除をご覧ください。

次のステップ