Gateway API は、Kubernetes コミュニティの公式なトラフィック管理標準です。Ingress ベースの南北トラフィック管理と Service Mesh ベースの東西トラフィック管理の両方をサポートしています。このトピックでは、Gateway API の基本概念と、南北トラフィックを管理するためのソリューションについて説明します。
基本概念
Gateway API は、ロール指向の階層化設計を採用しています。この設計により、インフラストラクチャのプロビジョニング、クラスターの O&M、およびアプリケーションルーティングが分離されます。Gateway API には、以下のコアドメインが含まれます。
-
GatewayClass (インフラストラクチャレイヤー):
IngressClassと同様に、このリソースは ALB や Envoy Gateway などのゲートウェイコントローラーのタイプと、その一般的な構成を定義します。 -
Gateway (O&M レイヤー): 特定のゲートウェイインスタンスを定義し、ポート、プロトコル、TLS 構成などのネットワークリスナールールを記述します。
-
HTTPRoute、GRPCRoute、およびその他のルートタイプ (アプリケーションレイヤー): これらのリソースは、パス一致、ヘッダー変更、トラフィックの重み付けなど、特定のトラフィックルーティングルールを定義します。これらのルールはバックエンドサービスにアタッチされます。
-
Policy (ポリシーレイヤー): このリソースは、サーキットブレーキング、レート制限、JWT 認証など、特定の構成や動作のセットを定義します。特定のゲートウェイ、ルート、またはバックエンドサービスにアタッチできます。
ACK における Gateway API ソリューション
ACK クラスターでは、ビジネスニーズに基づいて Gateway API ソリューションを選択できます。
|
ソリューション |
Gateway with Inference Extension |
Application Load Balancer (ALB) |
|
概要 |
Gateway with Inference Extension は、オープンソースの Envoy Gateway プロジェクトをベースに構築されたコンポーネントです。クラウドネイティブおよび AI 推論シナリオ向けに最適化されています。Gateway API リソースをリッスンして、ゲートウェイを動的に作成および削除し、クラスターの南北トラフィックを管理します。このコンポーネントはフルマネージドではありません。クラスターのノードにデプロイされ、お客様による O&M が必要です。クラウドプロダクトのサービスレベルアグリーメント (SLA) は提供されません。 |
ALB Ingress Controller は、バージョン v2.17.0 以降で Gateway API をサポートしています。Gateway や HTTPRoute などのリソースを構成して、外部のアプリケーション層トラフィックを、クラスター内のサービスによって管理されるワークロード (Pod) にルーティングします。この設定により、クラスターの南北トラフィックが管理されます。ALB Ingress Controller は、Gateway API リソースの変更をリッスンします。その後、これらの変更を、基盤となる ALB インスタンスのリスナールール、ルーティングルール、およびサーバーグループ構成にリアルタイムで変換します。 |
|
シナリオ |
一般的なトラフィックおよび AI 推論シナリオ |
一般的なトラフィックシナリオ |
|
主な利点 |
|
|
|
参考資料 |