クラスタ内の Cloud Service Mesh の前提条件
このページでは、GKE Enterprise のライセンス、クラスタの要件、フリートの要件、一般的な要件など、Google Cloud の外部の Kubernetes ワークロード用のクラスタ内 Cloud Service Mesh をインストールするための前提条件と要件について説明します。
Cloud プロジェクト
始める前に:
GKE Enterprise のライセンス
Cloud Service Mesh オンプレミスをGKE on AWS、Amazon EKS、GKE on Azure、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 つのみです。
クラスタ要件
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 に到達するように構成されていることを確認します。
フリートの要件
すべてのクラスタをフリートに登録する必要があります。また、フリートの Workload Identity を有効にする必要があります。ご自身でクラスタを設定することも、次の要件を満たす限り、asmcli
でクラスタを登録することもできます。
- 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
によって登録されます。