Elegir la API de balanceo de carga multiclúster para GKE

En esta página se explica cómo elegir la API más adecuada para desplegar balanceadores de carga que distribuyan el tráfico entre una flota de clústeres de Google Kubernetes Engine (GKE).

Puedes adjuntar un balanceador de carga a tu flota de clústeres de GKE de las siguientes formas:

  1. Usa las APIs de Ingress de varios clústeres, como los recursos Ingress de varios clústeres y MultiClusterService.

  2. Usa las APIs de Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport y ServiceImport).

  3. Configura el balanceador de carga de aplicaciones con la consola, gcloud CLI, la API, Terraform y Config Connector, y adjunta NEGs independientes a los servicios de backend gestionados por el usuario. Google Cloud

En la siguiente tabla se muestran las diferentes formas en las que puede adjuntar un balanceador de carga a su flota de clústeres de GKE. Cualquier función que se indique en la página de comparación de funciones de balanceadores de carga y que no aparezca en la siguiente tabla debería funcionar con un balanceador de carga gestionado por el usuario con NEG independientes, en lugar de usar la API nativa de Kubernetes para el balanceo de carga.

Solución Entrada multi-clúster Pasarela de varios clústeres Balanceador de carga gestionado por el usuario con NEGs independientes
Compatibilidad con la plataforma GKE
Fase de lanzamiento del producto GA GA GA
Modo de clúster Estándar/Autopilot Estándar/Autopilot Estándar/Autopilot
Versión de GKE 1.18 y versiones posteriores GKE 1.24 y versiones posteriores para el modo estándar, y GKE 1.26 y versiones posteriores para Autopilot 1.18 y versiones posteriores
Arquitectura y componentes
Controlador de Kubernetes gestionado por Google
Mando Controlador de Ingress multiclúster de GKE Controlador de GKE Gateway -
Ubicación del controlador Fuera del clúster

(Google Cloud infraestructura)

Fuera del clúster

(Google Cloud infraestructura)

-
API API nativa de Kubernetes API nativa de Kubernetes Google Cloud API (CLI de gcloud)
Recursos de la API MultiClusterIngress y MultiClusterService GatewayClass, Gateway, HTTPRoute y *Policy -
Fase de lanzamiento de la API GA (v1) GA (v1) -
Habilitación de APIs en GKE Ajuste del clúster en Autopilot o Standard Autopilot activado de forma predeterminada

Configuración de clúster en Estándar

-
Compatibilidad con servicios de varios clústeres
Se necesitan servicios de varios clústeres (MCS)
Versión de la API MCS networking.gke.io/v1 net.gke.io/v1 -
Tipo de recurso Servicio de varios clústeres ServiceExport -
Licencia Información confidencial Código abierto -
Gestión del ciclo de vida de los recursos de Cloud Networking (excepto VPC compartida)
Gestión automatizada de direcciones IP de frontend
Gestión automatizada de balanceadores de carga de Cloud
  • Regla de reenvío
  • Proxy de destino
  • Mapa de URLs
  • Servicios de backend
  • Comprobaciones del estado
Gestión automatizada de grupos de puntos finales de red (NEGs)

(Solo NEGs por zonas)

(Solo NEGs por zonas)

(Solo para NEG zonales; se requiere una anotación en el servicio de Kubernetes)

Gestión de Cloud NGFW

Solo reglas de cortafuegos de VPC y reglas gestionadas

Solo reglas de cortafuegos de VPC y reglas gestionadas

Compatibilidad con VPC compartida
Clústeres y flota (Hub) en el proyecto del host
Clústeres y flota (Hub) en el mismo proyecto de servicio

con permisos de reglas de cortafuegos en el proyecto host

(con permisos de reglas de cortafuegos en el proyecto host)

Clústeres y flota (Hub) en proyectos diferentes

(con referencia de servicios entre proyectos)

Compatibilidad con balanceadores de carga
Balanceadores de carga de aplicación
Clásico
Global externa
Regional externa
Regional interno
Interno entre regiones
Balanceadores de carga de red de proxy
Clásico
Global externa
Regional externa
Interno (siempre regional)
Balanceadores de carga de red con paso a través
Externo (siempre regional)
Interno (siempre regional)
Compatibilidad con protocolos de cliente a balanceador de carga
HTTP, HTTPS y HTTP/2
WebSocket
HTTP/3 (basado en IETF QUIC)
SSL (TLS) o TCP
Compatibilidad con backends de balanceadores de carga
Pods (NEGs por zonas)
Máquinas virtuales (incluidos los nodos de GKE)

No recomendado

Otros back-ends:
  • Cloud Storage
  • Puntos finales externos públicos (NEGs de Internet)
  • Endpoints externos privados (NEGs híbridas)
  • Private Service Connect (NEGs de PSC)
  • Cloud Run (NEGs sin servidor)
Compatibilidad con protocolos de balanceador de carga a backends
HTTP, HTTPS o HTTP/2 (una de estas opciones)
WebSocket
SSL (TLS) o TCP (una de las dos)
Direcciones IP y protocolos
Asignación de direcciones IP dinámicas
Asignación de direcciones IP estáticas
Misma dirección IP para varios puertos (HTTP y HTTPS)
IPv6

El tráfico del balanceador de carga al backend sigue siendo IPv4.

El tráfico del balanceador de carga al backend sigue siendo IPv4.

El tráfico del balanceador de carga al backend sigue siendo IPv4.

Gestión del tráfico y las rutas
Acceso global
Balanceo de carga entre proyectos
Enrutamiento por host o ruta

(Prefijo, Concordancia exacta)

(Prefijo, Concordancia exacta)

Enrutamiento basado en encabezados

(Concordancia exacta)

Redirecciones de ruta
Reescrituras de URLs
División del tráfico
Duplicación del tráfico
Cambio de tráfico
Autoescalado basado en el tráfico
Encabezados de solicitud personalizados
Encabezados de respuesta personalizados
Enrutamiento entre espacios de nombres
Seguridad del frontend
Política de SSL
Redirección de HTTP a HTTPS
Compatibilidad con varios certificados TLS
Certificados basados en secretos de Kubernetes
Certificados de SSL autogestionados
Certificados SSL gestionados por Google
Compatibilidad con Certificate Manager
Propiedades del servicio de backend
Tiempo de espera de purga de conexión
Afinidad de sesión
Configuración del registro de acceso HTTP
Tiempo de espera del servicio de backend
Configuración personalizada de la comprobación del estado del balanceador de carga

(BackendConfig)

(HealthCheckPolicy)

(CLI de gcloud / Google Cloud consola/Terraform)

TLS a servicios de backend
Backend predeterminado personalizado
Cloud CDN

(No todas las funciones)

(Todas las funciones)

Identity‑Aware Proxy
Política de seguridad de Google Cloud Armor

Siguientes pasos