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:
Usa las APIs de Ingress de varios clústeres, como los recursos Ingress de varios clústeres y MultiClusterService.
Usa las APIs de Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport y ServiceImport).
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
|
|||
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 | |||
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) |
||
Clústeres y flota (Hub) en proyectos diferentes | |||
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) | |||
Otros back-ends:
|
|||
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 | |||
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
- Configura Ingress de varios clústeres.
- Desplegar objetos Ingress en clústeres
- Habilita la pasarela de varios clústeres.
- Despliega pasarelas de varios clústeres.
- Balanceo de carga nativo de contenedores mediante NEG de zona independientes.