クラスタ内 Cloud Service Mesh の前提条件
このページでは、GKE にクラスタ内 Cloud Service Mesh をインストールするための前提条件と要件について説明します。これには、GKE Enterprise のライセンス、クラスタの要件、フリートの要件、一般的な要件が含まれます。
Cloud プロジェクト
始める前に:
GKE Enterprise のライセンス
Cloud Service Mesh は、GKE Enterprise で、もしくはスタンドアロン サービスとして利用できます。Google API は、請求方法を決定するために使用されます。Cloud Service Mesh をスタンドアロン サービスとして使用する場合、プロジェクトで GKE Enterprise API を有効にしないでください。asmcli
により、他のすべての必要な Google API が有効になります。Cloud Service Mesh の料金については、料金をご覧ください。
GKE Enterprise サブスクライバーである場合は、GKE Enterprise API を必ず有効にしてください。
GKE Enterprise のサブスクライバーでない場合でも Cloud Service Mesh をインストールできますが、Google Cloud コンソールの一部の UI 要素と機能は GKE Enterprise のサブスクライバーのみが使用できます。サブスクライバーと非サブスクライバーが使用できる機能については、GKE Enterprise と Cloud Service Mesh の UI の違いをご覧ください。
GKE Enterprise API を有効にしていて、Cloud Service Mesh をスタンドアロン サービスとして使用する場合は、GKE Enterprise API を無効にします。
一般的な要件
サービス メッシュに含めるには、サービスポートに名前を付ける必要があります。名前には、
name: protocol[-suffix]
の構文でポートのプロトコルを含める必要があります。角かっこは、ダッシュで始まるオプションの接尾辞です。詳細については、サービスポートの命名をご覧ください。組織にサービス境界を作成した場合は、Cloud Service Mesh 認証局サービスを境界に追加する必要があります。詳細については、サービス境界への Cloud Service Mesh 認証局の追加をご覧ください。
istio-proxy
サイドカー コンテナのデフォルトのリソース制限を変更する場合は、メモリ不足(OOM)イベントを回避するために、新しい値はデフォルト値より大きい値にする必要があります。1 つの Google Cloud プロジェクトに関連付けることができるメッシュは 1 つのみです。
クラスタ要件
クラスタ バージョンがサポートされるプラットフォームに含まれていることを確認します。
GKE クラスタは次の要件を満たす必要があります。
Standard モードの GKE クラスタであること。Autopilot クラスタは、マネージド Cloud Service Mesh でのみサポートされています。
4 つ以上の vCPU を備えたマシンタイプ(
e2-standard-4
など)を指定すること。クラスタのマシンタイプに 4 つ以上の vCPU がない場合は、異なるマシンタイプへのワークロードの移行の説明に従ってマシンタイプを変更します。ノードの最小数は、マシンタイプによって異なります。Cloud Service Mesh には、8 つ以上の vCPU が必要です。4 つの vCPU を持つマシンタイプの場合、クラスタには少なくとも 2 つのノードが必要です。8 つの vCPU を持つマシンタイプの場合、クラスタには 1 ノードだけが必要です。ノードを追加する必要がある場合は、クラスタのサイズ変更をご覧ください。
GKE Workload Identity は必須です。Cloud Service Mesh をインストールする前に、Workload Identity を有効にすることをおすすめします。Workload Identity を有効にすると、Workload Identity の制限事項で説明されているように、ワークロードから Google API への呼び出し方法が変わります。既存のノードプールで GKE メタデータ サーバーを有効にする必要はありません。
クラスタをリリース チャンネルに登録します。この操作は省略できますが、行うことをおすすめします。Regular リリース チャンネルに登録することをおすすめします。他のチャネルは Cloud Service Mesh 1.23.3でサポートされていない GKE バージョンをベースにしていることがあります。詳しくは、対応プラットフォームをご覧ください。静的 GKE バージョンがある場合は、既存のクラスタをリリース チャンネルに登録するの手順を行ってください。
限定公開クラスタに Cloud Service Mesh をインストールする場合は、ファイアウォールでポート 15017 を開き、自動サイドカー インジェクションと構成検証で使用する Webhook が適切に機能する必要があります。詳細については、限定公開クラスタのポートを開くをご覧ください。
Cloud Service Mesh をインストールするクライアント マシンと API サーバーとのネットワーク接続を確認します。
Windows Server ワークロードの場合、Cloud Service Mesh はサポートされていません。クラスタに Linux と Windows Server の両方のノードプールがある場合でも、Cloud Service Mesh をインストールして Linux ワークロードで使用できます。
- Cloud Service Mesh をプロビジョニングしたら、IP ローテーションまたは証明書の認証情報のローテーションを開始する前に、サポートにご連絡ください。
フリートの要件
すべてのクラスタをフリートに登録する必要があります。また、フリートの Workload Identity を有効にする必要があります。ご自身でクラスタを設定することも、次の要件を満たす限り、asmcli
でクラスタを登録することもできます。
- GKE: (クラスタ内およびマネージド Cloud Service Mesh に適用)Google Kubernetes Engine クラスタで GKE Workload Identity を有効にします(まだ有効にしていない場合)。また、フリートの Workload Identity を使用してクラスタを登録する必要があります。
asmcli install
を実行するときは、フリート ホスト プロジェクトのプロジェクト ID を指定します。クラスタがまだ登録されていない場合は、asmcli
によって登録されます。