クラスタ内 Cloud Service Mesh の前提条件
このページでは、クラスタの要件、フリートの要件、一般的な要件など、 Google Cloud外の Kubernetes ワークロード用のクラスタ内 Cloud Service Mesh をインストールするための前提条件と要件について説明します。
Cloud プロジェクト
始める前に、次のことを行います。
一般的な要件
サービスポートをサービス メッシュに含めるには、まず名前を付ける必要があります。名前には、
name: protocol[-suffix]の構文でポートのプロトコルを含める必要があります。角かっこの部分は省略可能な接尾辞で、ダッシュで始まる必要があります。詳細については、サービスポートの命名をご覧ください。組織にサービス境界を作成した場合は、Cloud Service Mesh 認証局サービスを境界に追加する必要がある可能性があります。詳細については、サービス境界への Cloud Service Mesh サービスの追加をご覧ください。
istio-proxyサイドカー コンテナのデフォルトのリソース制限を変更する場合は、メモリ不足(OOM)イベントを回避するために、新しい値をデフォルト値より大きい値にする必要があります。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 に適用)VMware 用 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 によって登録されます。