クラスタの管理


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

始める前に

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

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

クラスタを表示する

gcloud

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

gcloud container clusters describe CLUSTER_NAME

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

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

gcloud container clusters list

コンソール

クラスタを表示するには、Google Cloud コンソールで 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

コンソール

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

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

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

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

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

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

現時点では、既存のリージョン クラスタのゾーンの変更は、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 リクエストの値とメモリのリクエストと制限の値を推奨したり、それらの値を自動的に更新したりできます。

クラスタの削除

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

フリートへのクラスタの追加

組織で複数のクラスタを使用している場合は、Kubernetes クラスタの論理グループであるフリートにクラスタを追加することで、マルチクラスタ管理を簡素化できます。フリートを作成すると、組織は個々のクラスタを管理する体制から、クラスタ グループ全体を管理する体制にレベルアップでき、マルチクラスタ IngressConfig SyncPolicy Controller などのフリート対応機能を使用できます。

フリートに GKE クラスタを追加するには、Google Cloud コンソールまたは gcloud CLI を使用するか、Terraform または Config Connector を宣言的に使用します。

フリートの仕組みについては、フリートの管理をご覧ください。フリートの作成については、フリートを作成してマルチクラスタ管理を簡素化するをご覧ください。

次のステップ