Google Kubernetes Engine(GKE)マルチクラスタ推論ゲートウェイは、複数の GKE クラスタ間で AI/ML 推論ワークロードのロード バランシングを行います。GKE マルチクラスタ Gateway をクラスタ間トラフィック ルーティング用に、Inference Gateway を AI/ML モデル サービング用に統合します。この統合により、デプロイのスケーラビリティと高可用性が向上します。このドキュメントでは、ゲートウェイのコアコンセプトとメリットについて説明します。
GKE マルチクラスタ Inference Gateway のデプロイ方法の詳細については、GKE マルチクラスタ Inference Gateway を設定するをご覧ください。
このドキュメントを理解するには、次のことを理解しておく必要があります。
- GKE での AI / ML オーケストレーション。
- 生成 AI の用語。
- GKE ネットワーキングのコンセプト(Service、GKE マルチクラスタ ゲートウェイ、Gateway API など)。
- Google Cloudでのロード バランシング、特にロードバランサが GKE とやり取りする方法。
このドキュメントは、次のペルソナを対象としています。
- AI / ML ワークロードの提供に Kubernetes コンテナ オーケストレーション機能を使用することに関心をお持ちの ML エンジニア、プラットフォーム管理者 / オペレーター、データ / AI スペシャリスト。
- Kubernetes ネットワーキングを操作するクラウド アーキテクトまたはネットワーキング スペシャリスト。
Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE Enterprise ユーザーロールとタスクをご覧ください。
GKE マルチクラスタ推論 Gateway のメリット
GKE マルチクラスタ Inference Gateway には、AI/ML 推論ワークロードの管理に次のようなメリットがあります。
- 複数の GKE クラスタ(異なる地理的リージョン間を含む)間でインテリジェントなロード バランシングを行うことで、高可用性とフォールト トレランスが向上します。推論ワークロードは引き続き使用できます。クラスタまたはリージョンで問題が発生した場合、システムはリクエストを自動的に再ルーティングし、ダウンタイムを最小限に抑えます。
- さまざまなクラスタの GPU リソースと TPU リソースをプールして需要の増加に対応することで、スケーラビリティを向上させ、リソース使用量を最適化します。このプーリングにより、ワークロードは単一クラスタの容量を超えてバーストし、フリート全体で使用可能なリソースを効率的に使用できます。
- グローバルに最適化されたルーティングでパフォーマンスを最大化します。このゲートウェイは、すべてのクラスタの Key-Value(KV)キャッシュ使用率などの高度な指標を使用して、効率的なルーティングの決定を行います。このアプローチにより、リクエストを処理するのに最適なクラスタにリクエストが送信されるため、AI/ML 推論フリートの全体的なパフォーマンスを最大化できます。
制限事項
GKE マルチクラスタ Inference Gateway には次の制限があります。
Model Armor の統合: GKE マルチクラスタ Inference Gateway は、Model Armor の統合をサポートしていません。
Envoy Proxy のレイテンシ レポート: Envoy Proxy は、成功した(
2xx)リクエストのクエリ レイテンシのみを報告します。エラーとタイムアウトは無視されます。この動作により、グローバル サーバー ロードバランサ(GSLB)が、障害が発生したバックエンドの実際の負荷を過小評価し、過負荷状態のサービスにさらに多くのトラフィックを転送する可能性があります。この問題を軽減するには、リクエスト タイムアウトを大きく設定します。たとえば、600sの値をおすすめします。
主要コンポーネント
GKE マルチクラスタ推論 Gateway は、いくつかの Kubernetes カスタム リソースを使用して、推論ワークロードとトラフィック ルーティングを管理します。
InferencePool: ターゲット クラスタ内の同一のモデルサーバー バックエンドをグループ化します。このリソースにより、モデル サービング インスタンスの管理とスケーリングが簡素化されます。InferenceObjective:InferencePool内の特定のモデルのルーティング優先度を定義します。このルーティングにより、要件に基づいて特定のモデルにトラフィック優先度が確実に付与されます。GCPInferencePoolImport: 構成クラスタでHTTPRouteを使用して、モデル バックエンドをルーティング構成で使用できるようにします。このリソースは、ターゲット クラスタからInferencePoolをエクスポートすると、構成クラスタに自動的に作成されます。構成クラスタは、マルチクラスタ環境の中央制御点として機能します。GCPBackendPolicy: バックエンドへのトラフィックのロード バランシング方法をカスタマイズします。たとえば、カスタム指標に基づいてロード バランシングを有効にしたり、エンドポイントあたりの未処理リクエスト数に上限を設定してモデルサーバーを保護したりできます。AutoscalingMetric: モデルサーバーからエクスポートするカスタム指標(vllm:kv_cache_usage_percなど)を定義します。これらの指標をGCPBackendPolicyで使用すると、よりインテリジェントなロード バランシングの決定を行い、パフォーマンスとリソース使用率を最適化できます。
GKE マルチクラスタ Inference Gateway の仕組み
GKE マルチクラスタ Inference Gateway は、複数の GKE クラスタにデプロイされた AI/ML モデルへのトラフィックを管理し、転送します。機能は次のとおりです。
- 一元化されたトラフィック管理: 専用の構成クラスタでトラフィック ルーティング ルールを定義します。構成クラスタは、マルチクラスタ環境の中心的な制御ポイントとして機能します。フリートのマルチクラスタ Ingress を有効にするときに、GKE クラスタを構成クラスタとして指定します。この一元管理アプローチにより、GKE クラスタのフリート全体でモデルにリクエストを転送する方法を一元的に管理できます。
- 柔軟なモデル デプロイ: 実際の AI/ML モデルは、個別のターゲット クラスタで実行されます。この分離により、最も理にかなった場所にモデルをデプロイできます(データに近い場所や、特定のハードウェアを備えたクラスタなど)。
- モデルの簡単な統合: ターゲット クラスタにモデルをデプロイするときに、
InferencePoolを使用してサービング インスタンスをグループ化します。このInferencePoolをエクスポートすると、構成クラスタで自動的にルーティングに使用できるようになります。 - インテリジェントなロード バランシング: ゲートウェイはトラフィックを分散するだけでなく、インテリジェントなルーティングの決定を行います。モデルサーバーのカスタム指標など、さまざまなシグナルを使用するように構成することで、ゲートウェイは受信リクエストが最適なクラスタまたはモデル インスタンスに送信されるようにします。これにより、パフォーマンスとリソース使用率を最大化できます。たとえば、キー値(KV)キャッシュ使用率などの指標に基づいて、使用可能な推論容量が最も多いクラスタにリクエストを転送できます。
次のステップ
- Gateway をデプロイするには、GKE マルチクラスタ Inference Gateway を設定するをご覧ください。
GCPBackendPolicyリソースでscopesフィールドを使用する方法については、GCPBackendPolicyスコープを使用してバックエンド構成をカスタマイズするをご覧ください。