クラスタ構成の選択肢について


このページでは、Google Kubernetes Engine(GKE)でクラスタを作成する際に選択できる 2 つの運用モードとメインのクラスタ構成について説明します。原則として、ここで説明する選択肢は、クラスタの作成後には変更できません。この選択は、クラスタの可用性バージョンの安定性ネットワークに影響を及ぼします。

クラスタ管理のレベル

クラスタのタイプについて説明する前に、クラスタに必要な柔軟性、権限、管理のレベルを理解することが重要です。必要とする管理レベルによって、GKE で使用する運用モードと、作成する必要があるクラスタ構成が決まります。

運用モード

GKE でクラスタを作成する場合は、次のいずれかの運用モードを使用します。

  • Autopilot: 完全にプロビジョニングされたマネージド クラスタ構成を提供します。Autopilot モードで作成されたクラスタには、クラスタ構成オプションが自動的に作成されます。Autopilot クラスタは、本番環境ワークロードに対応する最適化されたクラスタ構成を使用してあらかじめ構成されています。

  • Standard: クラスタの基盤となるインフラストラクチャに高度な構成の柔軟性を提供します。Standard モードを使用して作成されたクラスタでは、ユーザーが本番環境ワークロードに必要な構成を決定します。

これらのモードの詳細と、Autopilot について詳しくは、Autopilot の概要をご覧ください。

クラスタ構成の選択肢

選択した運用モードに基づいて、クラスタに必要な構成を選択します。Autopilot モードでは、ほとんどの選択肢が自動的に選択されます。Standard モードでは、ユーザーが本番環境ワークロードに最適な構成を選択する必要があります。

クラスタの選択肢 モード
Autopilot Standard
可用性タイプ リージョン リージョンまたはゾーン
バージョン リリース チャンネル リリース チャンネルデフォルト特定
ネットワーク ルーティング VPC ネイティブ VPC ネイティブまたはルートベース
ネットワーク分離 限定公開または一般公開 限定公開または一般公開
Kubernetes の機能 本番環境 本番環境またはアルファ版

クラスタの可用性タイプ

GKE では、ワークロードの可用性要件と予算に合わせてクラスタを作成できます。使用可能なクラスタのタイプには、ゾーン(シングルゾーンまたはマルチゾーン)とリージョンがあります。

Standard モードで作成するクラスタを選択する方法については、リージョンまたはゾーンのコントロール プレーンの選択をご覧ください。

クラスタを作成した後は、ゾーンクラスタからリージョン クラスタに変更できません。また、リージョン クラスタからゾーンクラスタに変更することもできません。変更する場合は、新しいクラスタを作成してトラフィックを移行する必要があります。

ゾーンクラスタ

ゾーンクラスタには、1 つのゾーン内に 1 つのコントロール プレーンが含まれています。可用性の要件に応じて、ゾーンクラスタのノードを単一のゾーンに分散するか、複数のゾーンに分散するかを選択できます。

Standard モードでゾーンクラスタを作成するには、ゾーンクラスタの作成をご覧ください。

シングルゾーン クラスタ

シングルゾーン クラスタには、1 つのゾーンで動作する 1 つのコントロール プレーンが含まれています。このコントロール プレーンは、同じゾーンで動作するノード上のワークロードを管理します。ワークロードを単一ゾーンで実行している場合、ゾーンが停止するとこのワークロードは使用できなくなります。

マルチゾーン クラスタ

マルチゾーン クラスタには、1 つのゾーンで動作するコントロール プレーンの 1 つのレプリカと、複数のゾーンで動作する複数のノードが含まれています。クラスタのアップグレード中や、コントロール プレーンが動作するゾーンの停止中にも、ワークロードは動作を継続します。ただし、コントロール プレーンが使用可能になるまでは、クラスタや、その中にあるノードとワークロードを設定できません。マルチゾーン クラスタでは、可用性とコストのバランスをとりながら一貫したワークロードが実現されます。ノードとノードプールの数が頻繁に変化するような環境で可用性を維持する必要がある場合は、リージョン クラスタの使用を検討してください。複数のゾーンでワークロードを実行しているときにゾーンが停止すると、そのゾーンではワークロードが中断されますが、他のゾーンでは引き続き実行を継続できます。

リージョン クラスタ

リージョン クラスタには、特定の 1 リージョン内の複数ゾーンで動作する複数のレプリカが含まれています。リージョン クラスタ内のノードは、構成されたノードのロケーションに応じて、複数のゾーンまたは単一ゾーンで実行できます。デフォルトでは、GKE は各ノードプールをコントロール プレーンのリージョンの 3 つのゾーンに複製します。クラスタを作成するときや新しいノードプールを追加するときに、クラスタのノードが実行されるゾーンを指定してデフォルト構成を変更できます。すべてのゾーンは、コントロール プレーンと同じリージョン内に存在する必要があります。

本番環境ワークロードを実行するには、リージョン クラスタを使用します。リージョン クラスタの方がゾーンクラスタと比較して可用性に優れているためです。

Standard モードでリージョン クラスタを作成するには、リージョン クラスタの作成をご覧ください。

Autopilot モードでリージョン クラスタを作成するには、Autopilot クラスタの作成をご覧ください。

クラスタのバージョン

クラスタを作成する際には、クラスタの特定の Kubernetes バージョンを選択することも、安定性と機能性の全体的なバランスを踏まえて別の選択肢を考慮することもできます。

クラスタのバージョンをどのように管理するかに関係なく、クラスタとそのノードの自動アップグレードを有効にすることをおすすめします。Autopilot クラスタのノードは、GKE によって自動的にアップグレードされます。

リリース チャンネル

特定のクラスタに必要な安定性レベルがわかっている場合は、クラスタをリリース チャネルに登録できます。デフォルトでは、新しいクラスタは Regular リリース チャンネルに登録されます。クラスタとそのノードは、そのリリース チャンネルでアップデートが利用可能になると自動的にアップグレードされます。Rapid チャンネルは毎月複数のアップデートを受け取るのに対して、Stable チャンネルは 1 年に数回のアップデートを受信するだけです。

特定のバージョン

特定のワークロードに対応する Kubernetes のバージョンを使用する必要があることがわかっている場合は、クラスタの作成時にそのバージョンを指定できます。

使用する特定のパッチ バージョンを制御する必要がない場合は、クラスタのバージョンを直接管理するのではなく、そのクラスタをリリース チャンネルに登録することを検討してください。

デフォルトのバージョン

クラスタをリリース チャンネルに登録しない(チャンネルなし)代わりに、静的バージョンを使用することを選択した場合、クラスタに特定のバージョンを設定しない現在のデフォルト バージョンが使用されます。デフォルト バージョンは、使用状況と実際のパフォーマンスに基づいて選択され、定期的に変更されます。通常、静的のデフォルト バージョンは、Regular リリース チャンネルと一致します。デフォルトのバージョンが最も安定したバージョンですが、他のバージョンとして、内部テストと認定試験に合格した一般提供バージョンも利用できます。デフォルト バージョンの変更はリリースノートで通知されます。

クラスタ ネットワーク

GKE クラスタを作成するときに、ネットワーク ルーティング モードとクラスタ ネットワークの分離方法を指定できます。

VPC ネイティブ クラスタとルートベース クラスタ

Google Kubernetes Engine では、ある Pod から別の Pod にトラフィックをルーティングする方法によってクラスタを区別できます。エイリアス IP を使用するクラスタは、VPC ネイティブ クラスタと呼ばれています。Google Cloud のルートを使用するクラスタは、ルートベース クラスタと呼ばれています。

新しいクラスタに推奨されるネットワーク モードは VPC ネイティブです。これは、Autopilot モードで作成されるクラスタのデフォルトでもあります。

Standard モードで作成されたクラスタの場合、デフォルトのネットワーク モードは、GKE のバージョンと、クラスタを作成する方法によって異なります。

詳細については、デフォルトのクラスタ ネットワーク モードのグラフをご覧ください。

ネットワーク分離の選択肢

デフォルトでは、パブリック ネットワークからクラスタのワークロードへのアクセスを設定できます。ルートは自動的には作成されません。限定公開クラスタが Pod とノードに内部アドレスを割り当て、ワークロードがパブリック ネットワークから完全に分離されます。

限定公開クラスタを作成するには、限定公開クラスタの作成をご覧ください。

Kubernetes の機能

Kubernetes の新機能は、開発状況に応じてアルファ版、ベータ版、安定版のいずれかで示されます。ほとんどの場合、ベータ版または安定版として表示された Kubernetes 機能が GKE に同梱されます。Kubernetes アルファ版の機能は、特別な GKE アルファ クラスタで使用できます。

アルファ クラスタ

アルファ クラスタでは、すべての Kubernetes アルファ API(機能ゲートともいう)が有効になっています。アルファ クラスタは、Kubernetes 機能の早期テストや検証に使用できます。アルファ クラスタは本番環境ワークロードではサポートされず、アップグレードも行われません。また、30 日以内に期限が切れます。

Standard モードでアルファ クラスタを作成するには、アルファ クラスタの作成をご覧ください。