ゾーンクラスタの作成

このトピックでは、Google Kubernetes Engine(GKE)でデフォルトの機能を有効にして標準のゾーンクラスタを作成する方法について説明します。ゾーンクラスタには、1 つのゾーン内に 1 つのコントロール プレーンが含まれています。可用性の要件に応じて、ゾーンクラスタのノードを単一のゾーンに配布するか、複数のゾーンに分配するかを選択できます。

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

シングルゾーンとマルチゾーン

シングルゾーン クラスタには、1 つのゾーンで動作する 1 つのコントロール プレーンが含まれています。このコントロール プレーンは、同じゾーンで動作するノード上のワークロードを管理します。

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

始める前に

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

次のいずれかの方法で 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 ゾーンを選択します。

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 ツールまたは Google Cloud Console を使用して、ゾーンクラスタを作成できます。

gcloud

gcloud コマンドライン ツールを使用してゾーンクラスタを作成するには、次のいずれかのコマンドを使用します。

コマンドのプレースホルダ値を次のように置き換えます。

  • cluster-name: 新しいクラスタの名前。
  • channel: リリース チャンネルのタイプ。rapidregularstable のいずれかに指定できます。
  • compute-zone: クラスタ コントロール プレーンのコンピューティング ゾーン
  • version: クラスタに指定するバージョン
  • --node-locations フラグで、コントロール プレーンノードが作成される compute-zone 値のリストをカンマで区切って指定します。 各ゾーン値の間にはスペースを入れないでください。

リリース チャンネルの使用:

gcloud 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,[...]

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

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

例: 次のコマンドは、example-cluster という名前のマルチゾーン クラスタを作成します。クラスタ コントロール プレーンは us-central-a ゾーンにあり、3 つのノード ロケーションがあります。

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

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

Console

Google Cloud Console でゾーンクラスタを作成するには、次のタスクを実行します。

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

    Google Kubernetes Engine のメニューに移動

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

  3. [クラスタの基本] セクションで、次の操作を行います。

    1. クラスタの名前を [名前] に入力します。
    2. [ロケーション タイプ] には [ゾーン] を選択し、クラスタに使用するゾーンを選択します。
    3. マルチゾーン クラスタを作成する場合は、ノードのロケーションを指定するチェックボックスをオンにして、クラスタを実行する追加のゾーンを選択します。
    4. [マスター バージョン] を選択します。リリース チャンネルを選択することをおすすめします。静的バージョンを指定する必要がある場合は、ノードプールで自動アップグレードが有効になっていることを確認してください。

  4. ナビゲーション ペインの [ノードプール] で [default-pool] をクリックします。

  5. [ノードプールの詳細] セクションで、次の操作を行います。

    1. [名前] に、デフォルトのノードプールの名前を入力します。
    2. [ノードのバージョン] で、ノードのバージョンを選択します。
    3. [ノード数] に、クラスタ内に作成するノードの数を入力します。ノードとそのリソース(ファイアウォール ルートなど)に使用できるリソース割り当てが必要です。
  6. ナビゲーション パネルで、[ノードプール] の下の [ノード] をクリックします。

  7. [イメージの種類] プルダウン リストから、目的のノードイメージを選択します。

  8. インスタンスに使用するデフォルトの [マシンの構成] を選択します。マシンタイプごとに課金方法は異なります。デフォルトのマシンタイプは e2-medium です。マシンタイプごとの料金については、マシンタイプの料金表をご覧ください。

  9. [ブートディスクの種類] プルダウン リストから、目的のディスクの種類を選択します。

  10. [ブートディスク サイズ] を入力します。

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

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

クラスタ テンプレート

GKE では以前、クラスタのテンプレートをサポートしていました。これらのテンプレートは Google Cloud Console からは削除されましたが、次のリンクからアクセスできます。

次のステップ