マルチクラスタ GKE Inference Gateway について

マルチクラスタ Google Kubernetes Engine(GKE)Inference Gateway は、複数の GKE クラスタ間で AI/ML 推論ワークロードの負荷を分散します。GKE マルチクラスタ Gateway を統合して、クラスタ間トラフィック ルーティングと AI/ML モデル提供のための Inference Gateway を統合します。この統合により、デプロイのスケーラビリティと高可用性が向上します。このドキュメントでは、Gateway のコアコンセプトとメリットについて説明します。

マルチクラスタ GKE Inference Gateway をデプロイする方法については、GKE マルチクラスタ Inference Gateway を設定するをご覧ください。

このドキュメントを理解するには、次のことを理解しておく必要があります。

このドキュメントは、次の役割を担うユーザーを対象としています。

  • AI / ML ワークロードの提供に Kubernetes コンテナ オーケストレーション機能を使用することに関心をお持ちの ML エンジニア、プラットフォーム管理者 / オペレーター、データ / AI スペシャリスト。
  • Kubernetes ネットワーキングを操作するクラウド アーキテクトまたはネットワーク スペシャリスト。

のコンテンツで参照する一般的なロールとタスク例の詳細については、一般的な GKE Enterprise ユーザー ロールと タスクをご覧ください。Cloud de Confiance by S3NS

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 の統合をサポートしていません。

  • ネットワーク エンドポイント グループ(NEG)の上限: には、 Cloud de Confiance by S3NS バックエンド サービスごとに 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 はトラフィックを分散するだけでなく、インテリジェントなルーティングを決定します。モデルサーバーのカスタム指標など、さまざまなシグナルを使用するように構成することで、受信リクエストが最適なクラスタまたはモデル インスタンスに送信されるようにします。これにより、パフォーマンスとリソース使用率を最大化できます。たとえば、Key-Value(KV)キャッシュの使用量などの指標に基づいて、最も推論容量の多いクラスタにリクエストをルーティングできます。

次のステップ