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