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


Nesta página, você verá como escolher a API mais adequada para implantar balanceadores de carga e distribuir o tráfego em uma frota de clusters do Google Kubernetes Engine (GKE).

É possível anexar um balanceador de carga à frota de clusters do GKE das seguintes maneiras:

  1. Use as APIs Ingress de vários clusters, como os recursos Ingress de vários clusters e MultiClusterService.

  2. Use as APIs Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport e ServiceImport (links em inglês)).

  3. Configure o Balanceador de carga de aplicativo usando o console do Google Cloud, o gcloud CLI, a API, o Terraform, o Config Connector e anexe NEGs independentes aos serviços de back-end gerenciados por usuários.

A tabela a seguir lista as diferentes maneiras de anexar um balanceador de carga à frota de clusters do GKE. Todos os recursos listados na página Comparação de recursos do balanceador de carga que não estão listados na tabela a seguir precisam funcionar com um balanceador de carga gerenciado pelo usuário com NEGs independentes, em vez de depender da API nativa do Kubernetes para balanceamento de carga.

Solução Ingress de vários clusters Gateway de vários clusters Balanceador de carga gerenciado pelo usuário com NEGs independentes
Suporte à plataforma GKE
Etapa de lançamento do produto GA GA GA
Edições do GKE Enterprise Standard Enterprise Standard Enterprise Standard
Modo de cluster Standard / Autopilot Standard / Autopilot Standard / Autopilot
Versão GKE 1.18 e posterior GKE 1.24 e posterior para Standard e 1.26 e posterior para Autopilot 1.18 e posterior
Arquitetura e componentes
Controlador do Kubernetes gerenciado pelo Google
Controlador Controlador de Ingress de vários clusters do GKE GKE Gateway controller -
Local do controlador Fora do cluster

(Infraestrutura do Google Cloud)

Fora do cluster

(Infraestrutura do Google Cloud)

-
API API nativa do Kubernetes API nativa do Kubernetes API do Google Cloud (gcloud CLI)
Recursos de API MultiClusterIngress, MultiClusterService GatewayClass, Gateway, HTTPRoute, *Policy -
Estágio de lançamento da API GA (v1) v1beta1 -
Ativação da API no GKE Configuração do cluster no Autopilot / Standard Padrão no Autopilot

Configuração do cluster em Standard

-
Suporte a serviços de vários clusters
Serviços de vários clusters (MCS) necessários
Versão da API MCS networking.gke.io/v1 net.gke.io/v1 -
Tipo de recurso MultiClusterService ServiceExport -
Licença Reservado Código aberto -
Gerenciamento do ciclo de vida de recursos do Cloud Networking (exceto VPC compartilhada)
Gerenciamento automatizado de endereços IP do front-end
Gerenciamento automatizado do balanceador de carga da nuvem
  • Regra de encaminhamento
  • Proxy de destino
  • Mapa de URL
  • Serviços de back-end
  • Verificações de integridade
Gerenciamento de grupos automatizados de endpoints de rede (NEGs, na sigla em inglês)

(Somente NEGs por zona)

(Somente NEGs por zona)

(Somente NEGs por zona, anotação necessária no serviço do Kubernetes)

Gerenciamento de NGFW do Cloud

(Somente regras de firewall da VPC, Regras gerenciadas)

(Somente regras de firewall da VPC, Regras gerenciadas)

Suporte para VPC compartilhada
Clusters e frota (Hub) no projeto host
Clusters e frota (Hub) no mesmo projeto de serviço

(com permissões de regras de firewall no projeto host)

(com permissões de regras de firewall no projeto host)

Clusters e frota (Hub) em projetos diferentes

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

Suporte a balanceadores de carga
Balanceadores de carga de aplicativo
Clássico
Externo global
Regional externo
Regional interno
Interno entre regiões
Balanceadores de carga de rede proxy
Clássico
Externo global
Regional externo
Interno (sempre regional)
Balanceadores de carga de rede de passagem
Externo (sempre regional)
Interno (sempre regional)
Suporte a protocolos cliente para balanceador de carga
HTTP, HTTPS, HTTP/2
WebSocket
HTTP/3 (baseado em IETF QUIC)
SSL (TLS) ou TCP
Suporte a back-ends de balanceadores de carga
Pods (NEGs por zona)
Máquinas virtuais (incluindo nós do GKE)

(Não recomendado)

Outros back-ends:
  • Cloud Storage
  • Endpoints externos públicos (NEGs da Internet)
  • Endpoints externos particulares (NEGs híbridos)
  • Private Service Connect (NEGs do PSC)
  • Cloud Run (NEGs sem servidor)
Suporte a protocolos de balanceador de carga para back-ends
HTTP, HTTPS, HTTP/2 (um de)
WebSocket
SSL (TLS) ou TCP (um de)
Protocolos e endereçamento IP
Atribuição de endereço IP dinâmico
Atribuição de endereço IP estático
Mesmo endereço IP para várias portas (HTTP, HTTPS)
IPv6

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

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

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

Gerenciamento de tráfego e roteamento
Acesso global
Balanceamento de carga entre projetos
Roteamento de host/caminho

(Prefixo, correspondência exata)

(Prefixo, correspondência exata)

Roteamento baseado em cabeçalho

(Correspondência exata)

Redirecionamentos de caminho
Regravações de URL
Divisão de tráfego
Espelhamento do tráfego
Redução do tráfego
Escalonamento automático baseado em tráfego
Cabeçalhos de solicitação personalizados
Cabeçalhos de resposta personalizados
Roteamento entre namespaces
Segurança de front-end
Política de SSL
Redirecionamento HTTP-para-HTTPS
Suporte a vários certificados TLS
Certificados baseados em secrets do Kubernetes
Certificados SSL autogerenciados
Certificados SSL gerenciados pelo Google
Suporte do gerenciador de certificados
Propriedades do serviço de back-end
Tempo limite de diminuição da conexão
Afinidade da sessão
Configuração da geração de registros de acesso HTTP
Tempo limite do serviço de back-end
Configuração personalizada da verificação de integridade do balanceador de carga

(BackendConfig)

(HealthCheckPolicy)

(gcloud CLI / Console do Google Cloud / Terraform)

TLS para serviços de back-end
Back-end padrão personalizado
Cloud CDN

(Nem todos os recursos)

(Todos os recursos)

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

A seguir