Acerca de la alta disponibilidad elástica entre regiones

Puedes lograr una alta disponibilidad elástica entre regiones para cargas de trabajo de inferencia de IA exigentes en Google Kubernetes Engine (GKE) para acceder de manera eficiente y confiable a la capacidad del acelerador en diferentes Cloud de Confiance regiones. Esta solución usa la puerta de enlace de inferencia de varios clústeres de GKE y las funciones de ajuste de escala automático de GKE, lo que permite que tus cargas de trabajo accedan a la capacidad del acelerador y la escalen en varias regiones. Este enfoque mejora la disponibilidad, la escalabilidad y la resiliencia de los recursos para tus aplicaciones de IA. En este documento, se describen los beneficios, los componentes clave y la mecánica general de cómo funciona la alta disponibilidad elástica entre regiones.

Antes de leer este documento, debes estar familiarizado con lo siguiente:

Este documento está destinado a las siguientes personas:

  • Ingenieros de aprendizaje automático (AA), administradores y operadores de plataformas, y especialistas en datos y en IA interesados en usar 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 Cloud de Confiance el contenido, consulta Roles de usuario y tareas comunes de GKE Enterprise y tareas.

Beneficios de la alta disponibilidad elástica entre regiones

La alta disponibilidad elástica entre regiones proporciona varios beneficios clave para administrar tus cargas de trabajo de inferencia de IA/AA, incluidos los siguientes:

  • Mayor capacidad y escalabilidad: Supera la escasez de aceleradores de una sola región mediante la agrupación de recursos de GPU o TPU de varios clústeres en diferentes regiones. También puedes usar diferentes tipos de aceleradores para expandir aún más el grupo de capacidad. Este enfoque permite que tus cargas de trabajo de inferencia de IA superen la capacidad de cualquier región o tipo de acelerador, y aprovechen automáticamente los recursos disponibles en tu flota, sin importar la región.
  • Desbordamiento automatizado y mayor confiabilidad y disponibilidad: La puerta de enlace enruta el tráfico de forma inteligente y prioriza las regiones o los clústeres preferidos. Cuando se alcanzan los límites de capacidad en una ubicación, el tráfico se desborda automáticamente a otras ubicaciones que tienen recursos disponibles. Este enfoque, combinado con las implementaciones multirregionales, mejora la alta disponibilidad y la tolerancia a errores porque el sistema puede omitir clústeres o regiones que tienen problemas.
  • Distribución de tráfico optimizada para IA: Usa el balanceo de cargas basado en el uso con métricas personalizadas específicas de IA, como el uso de caché de par clave-valor. Esta configuración garantiza decisiones de enrutamiento optimizadas a nivel global. La distribución de tráfico optimizada para IA envía solicitudes a los backends que están equipados para controlarlas, lo que mejora la maximización del rendimiento y ayuda a evitar la sobrecarga en tu flota de inferencia de varios clústeres.

Cómo funciona la alta disponibilidad elástica entre regiones

La alta disponibilidad elástica entre regiones en GKE permite que tus cargas de trabajo de inferencia de IA usen automáticamente la capacidad del acelerador (como GPUs o TPUs) en varias Cloud de Confiance regiones. Cuando tu región principal experimenta restricciones de capacidad para los recursos necesarios, esta solución enruta el tráfico de forma inteligente y escala las cargas de trabajo a otras regiones con capacidad disponible, respetando tus preferencias definidas.

A continuación, se explican los componentes clave de la alta disponibilidad elástica entre regiones y cómo funcionan juntos:

  • Puerta de enlace de inferencia de varios clústeres: Tu aplicación de inferencia se implementa en varios clústeres de GKE en diferentes regiones. Estos clústeres se administran como parte de una flota de GKE. Una puerta de enlace de inferencia de varios clústeres (MCG) de GKE se configura con un balanceador de cargas interno, que proporciona un solo extremo privado para tus solicitudes de inferencia. Esta puerta de enlace conoce las implementaciones de tu servicio en todos los clústeres de la flota.
  • Balanceo basado en el uso: En lugar de usar tasas de solicitudes básicas, el balanceador de cargas distribuye el tráfico en función de las métricas de uso personalizadas en tiempo real que informan tus servidores de modelos. Para la inferencia de IA, suele ser una métrica como el uso de caché de KV, que refleja la carga real en el servidor.
  • Preferencias de ubicación y recursos: puedes configurar qué regiones o zonas tienen permiso para ejecutar tus cargas de trabajo de inferencia de IA durante la creación del clúster y puedes especificar un orden de preferencia con lo siguiente:
    • GCPBackendPolicy: Esta política se adjunta a la puerta de enlace y te permite definir backends preferidos. Puedes especificar a qué regiones (es decir, clústeres) debe priorizar el balanceador de cargas para enviar tráfico. Por lo general, esta política se alinea con el lugar en el que reservaste capacidad o en el que tienes requisitos de latencia más bajos.
    • Clase de Compute personalizada (opcional, si usas la creación automática de grupos de nodos): Dentro de cada clúster de GKE individual, puedes usar objetos ComputeClass personalizados para definir los tipos de nodos preferidos, incluidos los tipos de máquinas (por ejemplo, a3-highgpu-8g), los tipos de capacidad (como reservados, a pedido y de instancias interrumpibles) e incluso las zonas preferidas dentro de esa región.
  • Ajuste de escala dinámico y enrutamiento de tráfico: El tráfico se escala y se enruta según el siguiente proceso:
    • Las solicitudes entrantes llegan al balanceador de cargas interno de la puerta de enlace de Ingress de varios clústeres.
    • El balanceador de cargas, guiado por la GCPBackendPolicy, envía primero el tráfico a los backends de tus regiones preferidas.
    • El tráfico se distribuye dentro de una región y entre backends en función de las métricas de uso personalizadas.
    • El escalador automático de pod horizontal (HPA) en cada clúster escala la cantidad de pods del servidor de modelos hacia arriba o hacia abajo en función de las mismas métricas de uso.
    • El escalador automático de clúster de GKE y el aprovisionamiento automático de nodos, guiados por la ComputeClass personalizada, agregan o quitan nodos de los tipos y las zonas preferidos para satisfacer las demandas de escalamiento del pod.
  • Alta disponibilidad elástica entre regiones en acción: Si los servidores de modelos de las regiones preferidas se utilizan por completo (es decir, sin capacidad adicional disponible), el balanceador de cargas desborda automáticamente el tráfico a los clústeres de otras regiones configuradas que tienen capacidad disponible. Luego, el HPA y el escalador automático de clúster escalan verticalmente los recursos en esas regiones de resguardo según sea necesario.

¿Qué sigue?