Escolha a API de balanceamento de carga de vários clusters para o GKE

Esta página ajuda a escolher a API mais adequada para implementar equilibradores de carga para distribuir o tráfego por uma frota de clusters do Google Kubernetes Engine (GKE).

Pode associar um equilibrador de carga à sua frota de clusters do GKE das seguintes formas:

  1. Use as APIs Multi Cluster Ingress, como os recursos Multi Cluster Ingress e MultiClusterService.

  2. Use as APIs Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport e ServiceImport).

  3. Configure o Application Load Balancer através da Google Cloud consola, da CLI gcloud, da API, do Terraform, do Config Connector e anexe NEGs autónomos aos serviços de back-end geridos pelo utilizador.

A tabela seguinte indica as diferentes formas de anexar um balanceador de carga à sua frota de clusters do GKE. Quaisquer funcionalidades indicadas na página Comparação de funcionalidades do balanceador de carga que não estejam indicadas na tabela seguinte devem funcionar com um balanceador de carga gerido pelo utilizador com NEGs autónomos, em vez de depender da API nativa do Kubernetes para o balanceamento de carga.

Solução Entrada em vários clusters Gateway de vários clusters Balanceador de carga gerido pelo utilizador com NEGs autónomos
Suporte da plataforma GKE
Fase de lançamento do produto DG DG DG
Modo de cluster Padrão / Autopilot Padrão / Autopilot Padrão / Autopilot
Versão do GKE 1.18 e posterior GKE 1.24 e posterior para o modo Standard, e 1.26 e posterior para o modo Autopilot 1.18 e posterior
Arquitetura e componentes
Controlador Kubernetes gerido pela Google
Controlador Controlador de entrada de vários clusters do GKE GKE Gateway controller -
Localização do controlador Fora do cluster

(Google Cloud infraestrutura)

Fora do cluster

(Google Cloud infraestrutura)

-
API API nativa do Kubernetes API nativa do Kubernetes Google Cloud API (CLI gcloud)
Recursos da API MultiClusterIngress, MultiClusterService GatewayClass, Gateway, HTTPRoute, *Policy -
Fase de lançamento da API GA (v1) GA (v1) -
Ativação de APIs no GKE Definição do cluster no Autopilot / Standard Predefinição no piloto automático

Definição de cluster no Standard

-
Suporte para serviços em vários clusters
Serviços em vários clusters (MCS) necessários
Versão da API MCS networking.gke.io/v1 net.gke.io/v1 -
Tipo do recurso MultiClusterService ServiceExport -
Licença Proprietário Código aberto -
Gestão do ciclo de vida dos recursos de rede na nuvem (excluindo a VPC partilhada)
Gestão automatizada de endereços IP de front-end
Gestão automática do balanceador de carga da nuvem
  • Regra de encaminhamento
  • Proxy de destino
  • Mapa do URL
  • Serviços de back-end
  • Verificações de funcionamento
Gestão automatizada de grupos de pontos finais da rede (NEGs)

(Apenas NEGs zonais)

(Apenas NEGs zonais)

(Apenas NEGs zonais, anotação necessária no serviço Kubernetes)

Gestão do NGFW na nuvem

(Apenas regras de firewall da VPC, regras geridas)

(Apenas regras de firewall da VPC, regras geridas)

Suporte da VPC partilhada
Clusters e frota (Hub) no projeto anfitrião
Clusters e frota (Hub) no mesmo projeto de serviço

(com autorizações de regras de firewall no projeto anfitrião)

(com autorizações de regras de firewall no projeto anfitrião)

Clusters e frota (Hub) em projetos diferentes

(com referência de serviços entre projetos)

Suporte de balanceadores de carga
Balanceadores de carga de aplicações
Clássico
Global externo
Regional externo
Regional interno
Interno entre regiões
Balanceadores de carga de rede de proxy
Clássico
Global externo
Regional externo
Interno (sempre regional)
Balanceadores de carga de rede de passagem
Externo (sempre regional)
Interno (sempre regional)
Suporte de protocolos cliente-servidor de equilíbrio de carga
HTTP, HTTPS e HTTP/2
WebSocket
HTTP/3 (com base no IETF QUIC)
SSL (TLS) ou TCP
Suporte de back-ends do balanceador de carga
Agrupamentos (NEGs zonais)
Máquinas virtuais (incluindo nós do GKE)

(Não recomendado)

Outros backends:
  • Cloud Storage
  • Pontos finais externos públicos (NEGs da Internet)
  • Pontos finais externos privados (NEGs híbridos)
  • Private Service Connect (NEGs do PSC)
  • Cloud Run (NEGs sem servidor)
Suporte de protocolos do balanceador de carga para back-ends
HTTP, HTTPS, HTTP/2 (uma das opções)
WebSocket
SSL (TLS) ou TCP (um de)
Endereçamento e protocolos IP
Atribuição de endereço IP dinâmico
Atribuição de endereço IP estático
O mesmo endereço IP para várias portas (HTTP, HTTPS)
IPv6

(O tráfego do balanceador de carga para o back-end permanece IPv4)

(O tráfego do balanceador de carga para o back-end permanece IPv4)

(O tráfego do balanceador de carga para o back-end permanece IPv4)

Encaminhamento e gestão de tráfego
Acesso global
Balanceamento de carga entre projetos
Encaminhamento de anfitrião/caminho

(Título profissional ou académico, correspondência exata)

(Título profissional ou académico, correspondência exata)

Encaminhamento baseado em cabeçalhos

(Correspondência exata)

Redirecionamentos de caminhos
Reescritas de URLs
Divisão de tráfego
Espelhamento de tráfego
Transferência de tráfego
Escala automática com base no tráfego
Cabeçalhos de pedidos personalizados
Cabeçalhos das respostas personalizados
Encaminhamento entre espaços de nomes
Segurança do front-end
Política de SSL
Redirecionamento de HTTP para HTTPS
Suporte de vários certificados TLS
Certificados baseados em segredos do Kubernetes
Certificados SSL autogeridos
Certificados SSL geridos pela Google
Apoio técnico do Gestor de certificados
Propriedades do serviço de back-end
Limite de tempo de drenagem da ligação
Afinidade de sessão
Configuração do registo de acesso HTTP
Limite de tempo do serviço de back-end
Configuração personalizada da verificação de funcionamento do balanceador de carga

(BackendConfig)

(HealthCheckPolicy)

(CLI gcloud / Google Cloud consola / Terraform)

TLS para serviços de back-end
Backend predefinido personalizado
Cloud CDN

(Nem todas as funcionalidades)

(Todas as funcionalidades)

Identity-Aware Proxy (IAP)
Política de segurança do Google Cloud Armor

O que se segue?