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 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) | 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.