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:
Use as APIs Ingress de vários clusters, como os recursos Ingress de vários clusters e MultiClusterService.
Use as APIs Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport e ServiceImport).
Configure o Balanceador de carga de aplicativo usando o console Google Cloud , a CLI gcloud, 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 | 
| 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
 (Google Cloud infraestrutura)  | 
   Fora do cluster
 (Google Cloud infraestrutura)  | 
   - | 
| API | API nativa do Kubernetes | API nativa do Kubernetes | APIGoogle Cloud (CLI gcloud) | 
| Recursos de API | MultiClusterIngress, MultiClusterService | GatewayClass, Gateway, HTTPRoute, *Policy | - | 
| Estágio de lançamento da API | GA (v1) | GA (v1) | - | 
| 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
   
  | 
   |||
| 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)  | 
   ||
| Clusters e frota (Hub) em projetos diferentes | |||
| 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) | |||
Outros back-ends:
   
  | 
   |||
| 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 | |||
| 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
- Configurar o Ingress de vários clusters.
 - Como implantar o Ingress entre clusters.
 - Ativar o gateway de vários clusters.
 - Implantar gateways de vários clusters.
 - Balanceamento de carga nativo de contêiner por meio de NEGs por zona independentes.