El Inference Gateway de varios clústeres de Google Kubernetes Engine (GKE) 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 la puerta de enlace de inferencia de varios clústeres de GKE, consulta Configura la puerta de enlace de inferencia de varios clústeres de GKE.
Para comprender este documento, debes conocer los siguientes temas:
- Organización de IA/AA en GKE.
- Terminología de la IA generativa
- Conceptos de redes de GKE, incluidos los servicios, la puerta de enlace de varios clústeres de GKE y la API de Gateway.
- Balanceo de cargas enGoogle Cloud, en especial cómo interactúan los balanceadores de cargas con GKE
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 deGoogle Cloud , consulta Roles de usuario y tareas comunes de GKE Enterprise.
Beneficios de la puerta de enlace de inferencia de varios clústeres de GKE
La puerta de enlace de inferencia de varios clústeres de GKE 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 controlar el aumento de la 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 trazado de rutas optimizado a nivel global. La puerta de enlace usa métricas avanzadas, como el uso de la caché de 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 varios clústeres de GKE tiene las siguientes limitaciones:
Integración de Model Armor: Inference Gateway de varios clústeres de GKE no admite la integración de Model Armor.
Informes de latencia del proxy de Envoy: El proxy de Envoy solo informa la latencia de las consultas para las solicitudes exitosas (
2xx). Ignora los errores y los tiempos de espera. Este comportamiento puede hacer que el balanceador de cargas de servidores global (GSLB) subestime la carga real en los backends con errores, lo que podría dirigir más tráfico a los servicios ya sobrecargados. Para mitigar este problema, configura un tiempo de espera de solicitud más largo. Por ejemplo, se recomienda un valor de600s.
Componentes clave
La puerta de enlace de inferencia de varios clústeres de GKE usa varios recursos personalizados de Kubernetes para administrar las cargas de trabajo de inferencia y el enrutamiento del tráfico:
InferencePool: Agrupa los back-ends 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.InferenceObjective: Define las prioridades de enrutamiento para modelos específicos dentro de unInferencePool. 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 usandoHTTPRouteen el clúster de configuración. Este recurso se crea automáticamente en tu clúster de configuración cuando exportas unInferencePooldesde un clúster de destino. El clúster de configuración actúa como el punto de control central de 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, comovllm:kv_cache_usage_perc, para exportar desde los servidores de tu modelo. Luego, puedes usar estas métricas enGCPBackendPolicypara tomar decisiones más inteligentes sobre el balanceo de cargas y optimizar el rendimiento y el uso de recursos.
Cómo funciona la puerta de enlace de inferencia de varios clústeres de GKE
La puerta de enlace de inferencia de varios clústeres de GKE administra y enruta el tráfico a tus modelos de IA/ML implementados en varios clústeres de GKE. Esto funciona de la siguiente manera:
- Administración centralizada del tráfico: Un clúster de configuración dedicado define tus reglas de enrutamiento del tráfico. El clúster de configuración actúa como el punto central de control para tu entorno de varios clústeres. Designas un clúster de GKE como el clúster de configuración cuando habilitas 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 tiene 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. Cuando exportas esteInferencePool, se habilita 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 tus 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 clave-valor (KV).
¿Qué sigue?
- Para implementar la puerta de enlace, consulta Configura la puerta de enlace de inferencia de varios clústeres de GKE.
- Para obtener información sobre cómo usar el campo
scopesen el recursoGCPBackendPolicy, consulta Personaliza la configuración del backend con los permisos deGCPBackendPolicy.