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:
Usa las API de Ingress de varios clústeres, como los recursos Ingress de varios clústeres y MultiClusterService.
Usa las APIs de Gateway (recursos de GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport y ServiceImport).
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) | DG (v1) | - |
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
|
|||
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 | |||
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) |
||
Clústeres y flota (concentrador) en diferentes 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) | |||
Otros backends:
|
|||
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 | |||
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?
- Configura Ingress de varios clústeres
- Implementa Ingress en clústeres
- Habilitar la puerta de enlace de varios clústeres.
- Implementa puertas de enlace de varios clústeres
- Balanceo de cargas nativo del contenedor mediante NEG zonales independientes