GKE アンビエント ネットワーキングは、レイヤ 4 機能を持つサービス メッシュの簡素化されたサイドカーレス デプロイモデルを提供します。プロキシ機能を GKE Dataplane V2(DPv2)に統合されたノードレベルのコンポーネントに移動することで、アンビエント ネットワーキングはリソース オーバーヘッドを削減し、プロキシの更新によるワークロードの再起動を排除し、メッシュのライフサイクル管理を簡素化します。
機能
GKE アンビエント ネットワーキングのプレビュー版では、シングルクラスタのレイヤ 4 メッシュ機能がサポートされています。
- 相互 TLS(mTLS): 暗号化された転送と ID 認証を適用します。
- サービス ディスカバリ: サービスを検出し、ワークロード間で接続を自動的にルーティングします。
- レイヤ 4 トラフィック管理: TCP トラフィックのロード バランシングとルーティングを行います。
- レイヤ 4 テレメトリー: ネットワーク トラフィック、接続、エラーの指標を Cloud Observability に出力します。これらの指標の可視化と分析の詳細については、Network Services Monitoring の概要をご覧ください。
アンビエント ネットワーキングのメリット
サイドカーベースのサービス メッシュ アーキテクチャと比較して、アンビエント ネットワーキングには、運用とリソースに関するいくつかの重要な利点があります。
ライフサイクル管理の簡素化: サイドカー プロキシとアプリケーション コンテナ間の運命共有モデルを排除します。ワークロード Pod を再起動したり、アプリケーションのダウンタイムを引き起こしたりすることなく、ノードレベルでプロキシの更新、セキュリティ パッチ、アップグレードを適用できます。
リソース消費量の削減: プロキシを共有ノードレベルのインスタンスに統合することで、サイドカー モデルと比較して CPU とメモリのオーバーヘッドを最大 90% 削減します。
サイドカーのリスクの排除: コンテナ プロキシのバイパスの脆弱性、スティッキー接続の中断、信頼性の低い接続終了の伝播など、一般的なサイドカーの問題を解決します。
ネイティブ Google Cloud プラットフォーム統合: GKE Dataplane V2(DPv2)、Managed Workload Identity、Certificate Authority Service(CAS)、Google Cloud Observability とネイティブに統合されます。
相互運用性とスコープ
アンビエント ネットワーキングのプレビュー期間中は、次のスコープと相互運用性の制約に注意してください。
- Gateway API の要件: アンビエント ネットワーキングには Gateway API が必要です。Istio API はサポートされていません。
- ワークロードの相互運用性: アンビエント ネットワーキングに登録されたワークロードは、サイドカー挿入ワークロード(GKE、Compute Engine、Cloud Run)またはプロキシレス gRPC ワークロードと相互運用できません。
アーキテクチャとコンポーネント
アンビエント ネットワーキングは、ワークロード Pod に Envoy サイドカーを挿入するのではなく、各ノードの GKE Dataplane V2(DPv2)に直接統合されます。
既存のコントロール プレーン コンポーネント
アンビエント ネットワーキングは、コントロール プレーン コンポーネントを使用して、ポリシーの配布、構成の変換、証明書の発行を行います。
- Traffic Director: ポリシーの配布とルーティング構成用の xDS コントロール プレーンを提供します。
- GKE Gateway Controller: Kubernetes カスタム リソースを Traffic Director 構成に変換します。
- Certificate Authority Service(CAS): マネージド Workload Identity を使用して、ワークロードの X.509 ID 証明書を発行します。
- GKE クラスタ コントロール プレーン: 証明書署名リクエスト(CSR)を承認し、CAS に転送します。
ノード コンポーネント
アンビエント ネットワーキングは、各クラスタノードでワークロード トラフィックを直接インターセプトしてプロキシするために、次のノード単位のコンポーネントをインストールします。
GKE アンビエント NRI プラグイン: Pod トラフィックをインターセプトしてプロキシにリダイレクトするように低レベルのネットワーキングを構成する Node Resource Interface(NRI)プラグイン。
GKE アンビエント プロキシ: リスニング ソケットを管理し、Traffic Director から xDS ルールを受信し、GKE コントロール プレーンから X.509 ID 証明書をオンデマンドで取得し、レイヤ 4 トラフィックをプロキシするノードレベルのプロキシ。
ノードレベルのアンビエント データプレーン コンポーネントは、gke-managed-ambient Namespace で DaemonSet として実行され、GKE コントロール プレーンとともに自動的にバージョン管理、パッチ適用、アップグレードされます。
目標スケールと上限
プレビュー期間中、アンビエント ネットワーキングには次の範囲と相互運用性の制限があります。
| リソース指標 | GKE DPv2(アンビエントあり) | Standard GKE DPv2(アンビエントなし) |
|---|---|---|
| クラスタあたりのノード数 | 500 | 7,500 |
| クラスタあたりのサービス数 | 300 | 10,000 |
| クラスタあたりの Pod 数 | 5,000 | 200,000 |
| ノードあたりの最大 Pod 数 | 256 | 256 |
GKE クラスタの一般的な割り当てについては、クラスタの上限と GKE GKE Dataplane V2 の仕様をご覧ください。
料金
アンビエント ネットワーキングの料金と運用リソースの料金に関する詳細は、以下をご覧ください。
- アンビエント ラベル
networking.gke.io/dataplane-mode=ambientが付加された Namespace 内のすべての Pod は、1 時間あたり $0.004(1 分あたり $0.00006667、月額約 $2.90)で課金されます。プレビュー期間中は課金が適用されません。 - Cloud Observability(Cloud Monitoring / Cloud Logging)と Certificate Authority Service の標準使用料金が適用されます。
Gateway API リソースについて
アンビエント ネットワーキングを使用すると、クラスタで管理する Kubernetes Gateway API カスタム リソースが、一連のマネージドGoogle Cloud API リソースに自動的に変換されます。
| 機能 | マネージド Google Cloud API リソース | 範囲 | カーディナリティ |
|---|---|---|---|
| サービス ルーティング | TCPRoute |
リージョン | mTLS が有効になっている Kubernetes Service ごとに 1 つ |
| サービス表現 | BackendService |
リージョン | クラスタあたり 2 個 |
| 認証 | ClientTlsPolicy、ServerTlsPolicy |
リージョン | 対応する Kubernetes ポリシーごとに 1 つ |
| 承認 | EndpointPolicy、TcpFilter |
リージョン | 対応する Kubernetes ポリシーごとに 1 つ |