Cloud Service Mesh の前提条件

このページでは、Cloud Service Mesh をインストールするための前提条件と要件(GKE Enterprise のライセンス、クラスタとフリートの要件、一般的な要件など)について説明します。

Cloud プロジェクト

始める前に:

GKE Enterprise のライセンス

GKE

Cloud Service Mesh は、GKE Enterprise で、またはスタンドアロン サービスとして利用できます。請求方法を決定するために、Google API が使用されます。Cloud Service Mesh をスタンドアロン サービスとして使用する場合、プロジェクトで GKE Enterprise API を有効にしないでください。asmcli により、他のすべての必要な Google API が有効になります。Cloud Service Mesh の料金については、料金をご覧ください。

  • GKE Enterprise を利用している場合は、GKE Enterprise API を必ず有効にしてください。

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 を無効にします

Google Cloud 以外

Cloud Service Mesh をオンプレミス、GKE on AWS、Amazon EKS、Microsoft AKS にインストールするには、GKE Enterprise のユーザーである必要があります。GKE Enterprise を利用している場合は、料金に Cloud Service Mesh が含まれているため、別途請求は行われません。詳細については、GKE Enterprise の料金ガイドをご覧ください。

一般的な要件

  • サービスポートをサービス メッシュに含めるには、まず名前を付ける必要があります。名前には、name: protocol[-suffix] の構文でポートのプロトコルを含める必要があります。角かっこの部分は省略可能な接尾辞で、ダッシュで始まる必要があります。詳細については、サービスポートの命名をご覧ください。

  • 組織にサービス境界を作成した場合は、Cloud Service Mesh 認証局サービスを境界に追加する必要がある可能性があります。詳細については、サービス境界への Cloud Service Mesh サービスの追加をご覧ください。

  • istio-proxy サイドカー コンテナのデフォルトのリソース制限を変更する場合は、メモリ不足(OOM)イベントを回避するために、新しい値をデフォルト値より大きい値にする必要があります。

  • Google Cloud プロジェクトに関連付けることができるメッシュは 1 つのみです。

クラスタ要件

GKE

  • 使用するクラスタのバージョンが対応プラットフォームに含まれていることを確認します。

  • GKE クラスタは次の要件を満たす必要があります。

    • GKE クラスタは Standard である必要があります。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.27.1でサポートされていない GKE バージョンに基づいている可能性があるためです。詳しくは、対応プラットフォームをご覧ください。静的 GKE バージョンがある場合は、既存のクラスタをリリース チャンネルに登録する手順を行ってください。

  • プライベート クラスタに Cloud Service Mesh をインストールする場合は、ファイアウォールでポート 15017 を開き、自動サイドカー インジェクションと構成検証で使用する Webhook が適切に機能するようにする必要があります。詳細については、プライベート クラスタでポートを開くをご覧ください。

  • Cloud Service Mesh のインストール元のクライアント マシンと API サーバーとのネットワーク接続が確立されていることを確認します。

  • Windows Server ワークロードでは Cloud Service Mesh はサポートされていません。クラスタに Linux と Windows Server の両方のノードプールがある場合は、Cloud Service Mesh をインストールして Linux ワークロードで使用できます。

Google Cloud以外

  • Cloud Service Mesh をインストールするユーザー クラスタに、最低 4 つの vCPU、15 GB のメモリ、4 つのノードがあることを確認します。

  • クラスタ バージョンが対応プラットフォームに含まれていることを確認します。

  • Cloud Service Mesh のインストール元のクライアント マシンと API サーバーとのネットワーク接続が確立されていることを確認します。

  • CA サービス(meshca.googleapis.comprivateca.googleapis.com など)に直接接続できないアプリケーション Pod にサイドカーをデプロイする場合は、明示的な CONNECT ベースの HTTPS プロキシを構成する必要があります。

  • 暗黙のルールをブロックする下り(外向き)ファイアウォール ルールが設定されたパブリック クラスタの場合は、HTTP / HTTPS ルールと DNS ルールが公開 Google API に到達するように構成されていることを確認します。

フリートの要件

Cloud Service Mesh 1.11 以降では、すべてのクラスタをフリートに登録し、フリートの Workload Identity を有効にする必要があります。ご自身でクラスタを設定することも、次の要件を満たす場合は asmcli で自動的にクラスタを登録することもできます。

  • GKE: (クラスタ内 Cloud Service Mesh およびマネージド Cloud Service Mesh に適用)Google Kubernetes Engine クラスタで GKE Workload Identity を有効にします(まだ有効にしていない場合)。また、フリートの Workload Identity を使用してクラスタを登録する必要があります。

  • Google Cloud外部の GKE クラスタ: (クラスタ内 Cloud Service Mesh に適用)Google Distributed CloudGoogle Distributed CloudGKE on AWSGKE on Azure は、クラスタの作成時にプロジェクト フリートに自動的に登録されます。GKE Enterprise 1.8 以降では、これらのすべてのクラスタタイプにおいて、登録時にフリートの Workload Identity が自動的に有効になります。既存の登録済みクラスタは、GKE Enterprise 1.8 へのアップグレード時にフリートの Workload Identity を使用するように更新されます。

  • Amazon EKS クラスタ: (クラスタ内 Cloud Service Mesh に適用)クラスタにパブリック IAM OIDC ID プロバイダが必要です。クラスタの IAM OIDC プロバイダを作成する手順に沿ってプロバイダが存在するかどうかを確認し、必要に応じてプロバイダを作成します。

asmcli install を実行するときは、フリート ホスト プロジェクトのプロジェクト ID を指定します。クラスタがまだ登録されていない場合は、asmcli によって登録されます。

次のステップ