Elige la API de balanceo de cargas de varios clústeres para GKE


En esta página, encontrarás ayuda para elegir la API más adecuada con el fin de implementar balanceadores de cargas para distribuir el tráfico en una flota de clústeres de Google Kubernetes Engine (GKE).

Puedes conectar un balanceador de cargas a tu flota de clústeres de GKE de las siguientes maneras:

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

  2. Usa las API de puerta de enlace (GatewayClass ,Puerta de enlace ,Ruta HTTP ,Políticas , Exportación del servicio , y Importación del servicio recursos).

  3. Configura el balanceador de cargas de aplicación con la consola de Google Cloud, la CLI de gcloud, la API, Terraform, Config Connector y adjunta NEG independientes al usuario. -servicios de backend administrados.

En la siguiente tabla, se enumeran las diferentes formas en que puedes adjuntar un balanceador de cargas a tu flota de clústeres de GKE. Cualquier función enumerada en la página de comparación de las características del balanceador de cargas que no aparece en la siguiente tabla debería funcionar con un balanceador de cargas administrado por el usuario con NEG independientes, en lugar de hacerlo. usar la API nativa de Kubernetes para el balanceo de cargas.

Solución Ingress de varios clústeres Puerta de enlace de varios clústeres Balanceador de cargas administrado por el usuario con NEG independientes
Asistencia de la plataforma de GKE
Etapa de lanzamiento del producto DG DG DG
Ediciones de GKE Enterprise Standard Enterprise Standard Enterprise Standard
Modo de clúster Estándar / Autopilot Estándar / Autopilot Estándar / Autopilot
Versión de GKE 1.18 y posteriores GKE 1.24 y posteriores para Standard y 1.26 y posteriores para Autopilot 1.18 y posteriores
Arquitectura y componentes
Controlador de Kubernetes administrado por Google
Controlador Controlador de Ingress de varios clústeres de GKE Controlador de Gateway de GKE -
Ubicación del controlador Fuera del clúster

Infraestructura de Google Cloud

Fuera del clúster

Infraestructura de Google Cloud

-
API API nativa de Kubernetes API nativa de Kubernetes API de Google Cloud (CLI de gcloud)
Recursos de la API MultiClusterIngress y MultiClusterService GatewayClass, Gateway, HTTPRoute, *Política -
Etapa de lanzamiento de la API DG (v1) v1beta1 -
Habilitación de la API en GKE Configuración del clúster en Autopilot / Estándar Valor predeterminado en Autopilot

Configuración del clúster en Estándar

-
Compatibilidad con los Service de varios clústeres
Servicios de varios clústeres (MCS) obligatorios
Versión de la API de MCS networking.gke.io/v1 net.gke.io/v1 -
Tipo de recurso MultiClusterService ServiceExport -
Licencia Patentado Código abierto -
Administración del ciclo de vida de los recursos de Cloud Networking (sin incluir la VPC compartida)
Administración automática de direcciones IP de frontend
Administración automatizada del balanceador de cargas de Cloud
  • Regla de reenvío
  • Proxy de destino
  • Mapa de URL
  • Servicios de backend
  • Verificaciones de estado
Administración automatizada de grupos de extremos de red (NEG)

(solo NEG zonales)

(solo NEG zonales)

(NEG zonales, solo anotación necesaria en el Service de Kubernetes)

Administración de Cloud NGFW

(Solo reglas de firewall de VPC, reglas administradas)

(Solo reglas de firewall de VPC, reglas administradas)

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

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

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

Clústeres y flota (concentrador) en diferentes proyectos

(con referencia de servicio entre proyectos)

Compatibilidad con balanceadores de cargas
Balanceadores de cargas de la aplicación
Clásico
Global externo
Regional y externo
Regional interno
Interna entre regiones*
Balanceadores de cargas de red del proxy
Clásico
Global externo
Regional y externo
Interna (siempre regional)
Balanceadores de cargas de red de transferencia
Externa (siempre regional)
Interna (siempre regional)
Compatibilidad con los protocolos del cliente a un balanceador de cargas
HTTP, HTTPS, HTTP/2
WebSocket
HTTP/3 (basado en IETF QUIC)
SSL (TLS) o TCP
Compatibilidad con backends del balanceador de cargas
Pods (NEG zonales)
Máquinas virtuales (incluidos los nodos de GKE)

(No se recomienda)

Otros backends:
  • Cloud Storage
  • Extremos externos públicos (NEG de Internet)
  • Extremos externos privados (NEG híbridos)
  • Private Service Connect (NEG de PSC)
  • Cloud Run (NEG sin servidores)
Compatibilidad con los protocolos del balanceador de cargas a backends
HTTP, HTTPS, HTTP/2 (uno de los)
WebSocket
SSL (TLS) o TCP (uno de)
Protocolos y direccionamiento IP
Asignación dinámica de direcciones IP
Asignación de una dirección IP estática
La misma dirección IP para varios puertos (HTTP, HTTPS)
IPv6

El tráfico del balanceador de cargas a backend sigue siendo IPv4

El tráfico del balanceador de cargas a backend sigue siendo IPv4

El tráfico del balanceador de cargas a backend sigue siendo IPv4

Enrutamiento y administración del tráfico
Acceso global
Balanceo de cargas entre proyectos
Enrutamiento del host o la ruta

(Prefijo, Concordancia exacta)

(Prefijo, Concordancia exacta)

Enrutamiento basado en encabezados

Concordancia exacta

Redireccionamientos de ruta de acceso
Reescritura de URL
División del tráfico
Duplicación de tráfico
Migración de tráfico
Ajuste de escala automático 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
Redireccionamiento HTTP a HTTPS
Compatibilidad con varios certificados TLS
Certificados basados en Secretos de Kubernetes
Certificados SSL autoadministrados
Certificados SSL administrados por Google
Compatibilidad con el Administrador de certificados
Propiedades del servicio de backend
Tiempo de espera para vaciado de conexiones
Afinidad de sesión
Configuración del registro de acceso HTTP
Tiempo de espera del servicio de backend
Configuración de la verificación de estado del balanceador de cargas personalizado

(BackendConfig)

(HealthCheckPolicy).

(CLI de gcloud / Google Cloud Console / Terraform)

TLS a servicios de backend
Backend predeterminado personalizado
Cloud CDN

(No todas las funciones)

(Todas las funciones)

Identity-Aware Proxy (IAP)
Política de seguridad de Google Cloud Armor

¿Qué sigue?