Acerca de GKE Inference Gateway de varios clústeres

La puerta de enlace de inferencia de Google Kubernetes Engine (GKE) de varios clústeres balancea la carga de tus cargas de trabajo de inferencia de IA/AA en varios clústeres de GKE. Integra las puertas de enlace de varios clústeres de GKE para el enrutamiento del tráfico entre clústeres con Inference Gateway para la entrega de modelos de AA/IA. Esta integración mejora la escalabilidad y la alta disponibilidad de tus implementaciones. En este documento, se explican los conceptos y beneficios principales de la puerta de enlace.

Para obtener más información sobre cómo implementar Inference Gateway de GKE de varios clústeres, consulta Configura Inference Gateway de GKE de varios clústeres.

Para comprender este documento, debes conocer los siguientes temas:

Este documento está dirigido a las siguientes personas:

  • Ingenieros de aprendizaje automático (AA), administradores y operadores de plataformas, y especialistas en IA y datos interesados en usar las capacidades de organización de contenedores de Kubernetes para entregar cargas de trabajo de IA/AA.
  • Arquitectos de nube o especialistas en redes que interactúan con las redes de Kubernetes

Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido deCloud de Confiance by S3NS , consulta Roles de usuario y tareas comunes de GKE Enterprise.

Beneficios de GKE Inference Gateway de varios clústeres

La GKE Inference Gateway de varios clústeres proporciona varios beneficios para administrar tus cargas de trabajo de inferencia de IA/AA, incluidos los siguientes:

  • Mejora la alta disponibilidad y la tolerancia a errores a través del balanceo de cargas inteligente en varios clústeres de GKE, incluso en diferentes regiones geográficas. Tus cargas de trabajo de inferencia permanecen disponibles, y el sistema redirecciona automáticamente las solicitudes si un clúster o una región experimentan problemas, lo que minimiza el tiempo de inactividad.
  • Mejora la escalabilidad y optimiza el uso de recursos agrupando los recursos de GPU y TPU de varios clústeres para satisfacer la mayor demanda. Esta agrupación permite que tus cargas de trabajo superen la capacidad de un solo clúster y utilicen de manera eficiente los recursos disponibles en toda tu flota.
  • Maximiza el rendimiento con el enrutamiento optimizado a nivel global. La puerta de enlace usa métricas avanzadas, como el uso de la caché de pares clave-valor (KV) de todos los clústeres, para tomar decisiones de enrutamiento eficientes. Este enfoque ayuda a garantizar que las solicitudes se dirijan al clúster mejor equipado para controlarlas, lo que maximiza el rendimiento general de tu flota de inferencia de IA/AA.

Limitaciones

La puerta de enlace de inferencia de GKE de varios clústeres tiene las siguientes limitaciones:

  • Integración de Model Armor: Inference Gateway de GKE de varios clústeres no admite la integración de Model Armor.

  • Límites de los grupos de extremos de red (NEG): Hay un límite de 50 NEG porCloud de Confiance by S3NS servicio de backend. Cuando se usa un InferencePool de varios puertos, cada puerto de cada zona crea un NEG dedicado. Por ejemplo, un InferencePool con ocho puertos en un clúster regional típico (tres zonas) genera 24 NEG. Por lo tanto, una puerta de enlace de varios clústeres solo puede agregar un InferencePool de un máximo de dos clústeres (dos clústeres × 24 NEG = 48 NEG) antes de alcanzar el límite de 50 NEG.

Componentes clave

La GKE Inference Gateway de varios clústeres usa varios recursos personalizados de Kubernetes para administrar las cargas de trabajo de inferencia y el enrutamiento del tráfico:

  • InferencePool: Agrupa backends idénticos del servidor de modelos en tu clúster de destino. Este recurso simplifica la administración y el escalamiento de tus instancias de servicio de modelos. Los objetos InferencePool de varios puertos son compatibles con las implementaciones de un solo clúster y de varios clústeres.
  • InferenceObjective: Define las prioridades de enrutamiento para modelos específicos dentro de un InferencePool. Este enrutamiento ayuda a garantizar que ciertos modelos reciban preferencia de tráfico según tus requisitos.
  • GCPInferencePoolImport: Hace que los backends de tu modelo estén disponibles para la configuración de enrutamiento usando HTTPRoute en el clúster de configuración. Este recurso se crea automáticamente en tu clúster de configuración cuando exportas un InferencePool desde un clúster de destino. El clúster de configuración actúa como el punto central de control para tu entorno de varios clústeres.
  • GCPBackendPolicy: Personaliza la forma en que se balancea la carga del tráfico hacia tus backends. Por ejemplo, puedes habilitar el balanceo de cargas en función de métricas personalizadas o establecer límites en las solicitudes en tránsito por extremo para proteger tus servidores de modelos.
  • AutoscalingMetric: Define métricas personalizadas, como vllm:kv_cache_usage_perc, para exportar desde los servidores de tu modelo. Luego, puedes usar estas métricas en GCPBackendPolicy para tomar decisiones más inteligentes sobre el balanceo de cargas y optimizar el rendimiento y el uso de recursos.

Cómo funciona GKE Inference Gateway de varios clústeres

La GKE Inference Gateway de varios clústeres administra y enruta el tráfico a tus modelos de IA/AA implementados en varios clústeres de GKE. Esto funciona de la siguiente manera:

  • Administración de tráfico centralizada: Un clúster de configuración dedicado define tus reglas de enrutamiento de tráfico. El clúster de configuración actúa como el punto de control central de tu entorno de varios clústeres. Designas un clúster de GKE como el clúster de configuración cuando habilitas el Ingress de varios clústeres para tu flota. Este enfoque centralizado te permite administrar cómo se dirigen las solicitudes a tus modelos en toda tu flota de clústeres de GKE desde un solo lugar.
  • Implementación flexible de modelos: Tus modelos de IA/AA reales se ejecutan en clústeres de destino separados. Esta separación te permite implementar modelos donde tenga más sentido (por ejemplo, más cerca de los datos o de los clústeres con hardware específico).
  • Integración sencilla de modelos: Cuando implementas un modelo en un clúster de destino, agrupas sus instancias de procesamiento con un InferencePool. Si exportas este InferencePool, estará disponible automáticamente para el enrutamiento en tu clúster de configuración.
  • Balanceo de cargas inteligente: La puerta de enlace no solo distribuye el tráfico, sino que también toma decisiones de enrutamiento inteligentes. Si lo configuras para que use varios indicadores, incluidas las métricas personalizadas de los servidores de modelos, la puerta de enlace ayuda a garantizar que las solicitudes entrantes se envíen al clúster o a la instancia del modelo mejor equipados, lo que puede maximizar el rendimiento y la utilización de recursos. Por ejemplo, puedes enrutar las solicitudes al clúster con la mayor capacidad de inferencia disponible según métricas como el uso de la caché de pares clave-valor (KV).

¿Qué sigue?