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:
Use as APIs Multi Cluster Ingress, como os recursos Multi Cluster Ingress e MultiClusterService.
Use as APIs Gateway (recursos GatewayClass, Gateway, HTTPRoute, Policy, ServiceExport e ServiceImport).
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
|
|||
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 | |||
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) | |||
Outros backends:
|
|||
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 | |||
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?
- Configure a entrada em vários clusters.
- Implementar a entrada em vários clusters.
- Ative o gateway multicluster.
- Implemente gateways de vários clusters.
- Balanceamento de carga nativa do contentor através de NEGs zonais autónomos.