Cloud Service Mesh の前提条件
このページでは、GKE Enterprise のライセンス、クラスタの要件、フリートの要件、一般的な要件など、Cloud Service Mesh をインストールするための前提条件と要件について説明します。
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 を必ず有効にしてください。
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 をご利用のお客様は、GKE Enterprise の料金に Cloud Service Mesh が含まれているため、別途請求は行われません。詳細については、GKE Enterprise の料金ガイドをご覧ください。
一般的な要件
サービス メッシュに含めるには、サービスポートに名前を付ける必要があります。名前には、
name: protocol[-suffix]
の構文でポートのプロトコルを含める必要があります。角かっこは、ダッシュで始まるオプションの接尾辞です。詳細については、サービスポートの命名をご覧ください。組織にサービス境界を作成した場合は、Cloud Service Mesh 認証局サービスを境界に追加する必要があります。詳細については、サービス境界への Cloud Service Mesh 認証局の追加をご覧ください。
istio-proxy
サイドカー コンテナのデフォルトのリソース制限を変更する場合は、メモリ不足(OOM)イベントを回避するために、新しい値はデフォルト値より大きい値にする必要があります。1 つの Google Cloud プロジェクトに関連付けることができるメッシュは 1 つのみです。
クラスタ要件
GKE
クラスタ バージョンが対応プラットフォームに含まれていることを確認します。
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.18.7でサポートされていない 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 ローテーションまたは証明書の認証情報のローテーションを開始する前に、サポートにご連絡ください。
Google Cloud 以外
Cloud Service Mesh をインストールするユーザー クラスタに、少なくとも 4 つの vCPU、15 GB のメモリ、4 つのノードがあることを確認します。
クラスタ バージョンがサポートされるプラットフォームに含まれていることを確認します。
Cloud Service Mesh をインストールするクライアント マシンと API サーバーとのネットワーク接続を確認します。
CA サービス(
meshca.googleapis.com
やprivateca.googleapis.com
など)への直接接続が利用できないアプリケーション Pod にサイドカーをデプロイする場合は、明示的にCONNECT
ベースの HTTPS プロキシを構成する必要があります。暗黙のルールをブロックしている外向きファイアウォール ルールが設定されている一般公開クラスタの場合は、HTTP/HTTPS ルールと DNS ルールが公開 Google API に到達するように構成されていることを確認します。
フリートの要件
Cloud Service Mesh 1.11 以降では、すべてのクラスタをフリートに登録し、フリートの Workload Identity を有効にする必要があります。ご自身でクラスタを設定することも、次の要件を満たす限り、asmcli
でクラスタを登録することもできます。
GKE: (クラスタ内およびマネージド Cloud Service Mesh に適用)Google Kubernetes Engine クラスタで GKE Workload Identity を有効にします(まだ有効にしていない場合)。また、フリートの Workload Identity を使用してクラスタを登録する必要があります。
Google Cloud 外の GKE クラスタ: (クラスタ内の Cloud Service Mesh に適用)Google Distributed Cloud、Google Distributed Cloud、GKE on AWS、GKE 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
によって登録されます。