マルチゾーン クラスタを作成する

このトピックでは、ゾーンの中断中にクラスタのワークロードの可用性を高めるマルチゾーン クラスタを作成する方法を説明します。マルチゾーン クラスタのノードは複数のゾーンで実行されますが、コントロール プレーン(マスター)のレプリカは 1 つだけです。コントロール プレーンの可用性を高めるには、代わりにリージョン クラスタを作成することを検討してください。リージョン クラスタでは、コントロール プレーンがリージョン内の複数のゾーンに複製されます。

作成可能なクラスタのタイプについては、こちらをご覧ください。

マルチゾーン クラスタを作成した後に、そのクラスタをシングルゾーン クラスタやリージョン クラスタに変換することはできません。

始める前に

このタスクの準備として、次の手順を行います。

  • Google Kubernetes Engine API が有効になっていることを確認します。
  • Google Kubernetes Engine API の有効化
  • Cloud SDK がインストール済みであることを確認します。
  • デフォルトのプロジェクト 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 または Google Cloud Console を使用します。

gcloud

マルチゾーン クラスタを作成するには、--zone をクラスタ コントロール プレーンのゾーンに設定し、--node-locations をコントロール プレーンノードが作成される、コンピューティング ゾーンのカンマ区切りリストに設定します。次のいずれかのコマンドを使用します。コマンドの最初のバリアントはリリース チャンネルを使用し、2 つ目のバリアントはデフォルトのバージョンを使用します。正確なバージョンを指定するには、--release-channel フラグの代わりに --cluster-version フラグを使用します。

[CLUSTER-NAME] などのプレースホルダ値を適切な値に置き換えます。

リリース チャンネルを使用する場合:

gcloud beta container clusters create [CLUSTER_NAME] \
    --release-channel [CHANNEL] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],[...]

デフォルト バージョンを使用する場合:

gcloud container clusters create [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],[...]

特定のバージョンを使用する場合:

[VERSION] を特定のバージョンに置き換えます。

gcloud container clusters create [CLUSTER_NAME] \
    --cluster-version [VERSION] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],[...]

例:

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

--num-nodes フラグを省略した場合、クラスタがデフォルトでゾーンごとに作成するノードの数は 3 つです。ゾーンが 3 つ指定されているため、このコマンドは us-central1-aus-central1-bus-central1-c のそれぞれにノードが 3 つずつ含まれる、9 ノードのクラスタを作成します。

Console

マルチゾーン クラスタを作成するには、次の手順を実行します。

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

    Google Kubernetes Engine のメニューに移動

  2. [クラスタを作成] をクリックします。

  3. [標準クラスタ] テンプレートを選択するか、ワークロードに適切なテンプレートを選択します。

  4. 次のいずれかを選択して、クラスタのバージョンを選択します。

    • クラスタが登録されているリリース チャンネルを選択します。クラスタとノードプールはそのチャンネル内で自動アップグレードされます。
    • 特定の GKE バージョンを選択します。現在のバージョンが自動アップグレードに選択されると、自動アップグレードがデフォルトで有効になり、クラスタとそのノードプールが自動アップグレードされます。
    • デフォルトのバージョンを選択します。現在のバージョンが自動アップグレードに選択されると、自動アップグレードがデフォルトで有効になり、クラスタとそのノードプールが自動アップグレードされます。

    リリース チャンネルの使用をおすすめします。バージョンを指定する必要がある場合は、自動アップグレードを有効にしておくことをおすすめします。

  5. [ゾーン] プルダウン メニューから、クラスタ コントロール プレーンに必要なゾーンus-central1-a など)を選択します。

  6. 必要に応じてクラスタを構成してから、[詳細オプション] をクリックします。

  7. [その他のゾーンのロケーション] セクションで、クラスタを実行する追加のゾーンを選択します。

  8. [保存] をクリックして [詳細オプション] オーバーレイを閉じます。

  9. [作成] をクリックします。

クラスタを作成した後、コマンドラインからクラスタとやり取りするには、その前に kubectl を構成する必要があります。

次のステップ