クラスタの管理

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

始める前に

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

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

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

gcloud init の使用

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

    gcloud init

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

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

gcloud config の使用

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

クラスタを表示する

gcloud

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

gcloud container clusters describe cluster-name
    

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

gcloud container clusters list
    

Console

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

Google Kubernetes Engine のメニューに移動

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

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

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

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

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

gcloud

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

gcloud config set container/cluster cluster-name
    

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

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

ゾーンの追加や削除

以降のセクションでは、クラスタゾーンの追加や削除の方法について説明します。

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

gcloud

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

gcloud container clusters update cluster-name \
      --zone compute-zone \
      --node-locations [compute-zone,compute-zone,...]
    

ここで

  • cluster-name はクラスタに付ける名前です。
  • [COMPUTE_ZONE] は、クラスタ コントロール プレーンのゾーンです。
  • [compute-zone, compute-zone...] は、目的のゾーンすべてです。クラスタ コントロール プレーンのゾーンを含めます。

たとえば、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. [保存] をクリックします。

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

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

gcloud

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

gcloud container clusters update cluster-name \
      --region region \
      --node-locations [compute-zone,compute-zone,...]
    

ここで

  • cluster-name はクラスタの名前です。
  • region は、クラスタが稼働しているリージョンです。
  • [compute-zone,compute-zone,...] は、目的のゾーンすべてです。

たとえば、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
    

クラスタのサイズ変更

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

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

クラスタの削除

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

次のステップ