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.