Exponha pods na nuvem, na borda ou híbridos com CLB ou NLB e escolha a política de tráfego externo adequada.
Opções de configuração do serviço LoadBalancer:
Como funciona
Os diagramas a seguir ilustram o fluxo de tráfego em cada cenário.
Pods na nuvem (ECS + CLB)
Os pods executam em instâncias do Elastic Compute Service (ECS) dentro de uma Virtual Private Cloud (VPC). O plano de controle na nuvem gerencia os listeners e servidores de backend do Classic Load Balancer (CLB), distribuindo as requisições entre os pods de backend.
Pods na borda (ENS + encaminhamento via ECS)
Os pods executam em servidores de borda em um pool de nós do Edge Node Service (ENS). Instâncias do ECS na nuvem encaminham requisições pela Express Connect para os pods na borda.
Pods híbridos (NLB — recomendado)
Os pods executam em data centers na nuvem e on-premises. O NLB distribui o tráfego entre os pools de nós, com os pods registrados diretamente como servidores de backend do tipo IP.
Pré-requisitos
Verifique se você possui:
Um cluster ACK Edge
O plug-in de rede adequado ao seu cenário (Terway Edge ou Flannel VXLAN)
Apenas para o cenário ENS:
Um circuito Express Connect entre a VPC na nuvem e o data center na borda
externalTrafficPolicydefinido comoClusterno serviço LoadBalancer (o encaminhamento via ECS não oferece suporte aLocal)
Sem o encaminhamento de rede do ECS, o tráfego não consegue alcançar os pods na borda. Como essa abordagem depende do encaminhamento via ECS, caso uma instância ECS falhe, o balanceamento de carga ficará indisponível.
Apenas para o cenário NLB:
Um circuito Express Connect entre os pools de nós na nuvem e na borda
Terway Edge como plug-in de rede
Expor pods na nuvem com CLB
Para pods em instâncias ECS dentro de uma VPC, crie um serviço LoadBalancer padrão. O plano de controle provisiona uma instância CLB e sincroniza seus listeners e servidores de backend com os eventos do ciclo de vida dos pods — nenhuma anotação extra é necessária para o balanceamento de carga básico.
Expor pods na borda via encaminhamento ECS
Para pods em um pool de nós ENS, o tráfego entra por um listener CLB em uma instância ECS na nuvem e é encaminhado pela Express Connect para os pods na borda. Defina externalTrafficPolicy: Cluster para que todos os nós do cluster sejam backends elegíveis — assim, o tráfego é encaminhado mesmo quando um nó não possui nenhum pod local.
Expor pods híbridos com NLB (recomendado)
Para pods distribuídos entre pools de nós na nuvem e na borda, use o NLB para alcançá-los diretamente por IP. Adicione estas anotações ao manifesto do serviço:
|
Anotação |
Finalidade |
|
|
Adiciona pods às instâncias NLB como servidores de backend |
|
|
Define o tipo do grupo de servidores de backend como IP |
Escolher uma política de tráfego externo
Defina externalTrafficPolicy em um serviço LoadBalancer ou NodePort para controlar como o tráfego externo alcança os pods de backend. Essa configuração aplica-se tanto aos plug-ins Terway Edge quanto Flannel VXLAN.
|
**Local** |
**Cluster** |
|
|
Servidores de backend |
Apenas nós que executam um pod de backend são adicionados à instância do Server Load Balancer (SLB) |
Todos os nós do cluster são adicionados à instância SLB |
|
Cota de recursos SLB |
Baixa — menos entradas de backend |
Alta — cada nó representa uma entrada de backend. Consulte Cotas |
|
Acesso por IP do SLB |
Somente nós com um pod de backend local |
Todos os nós |
|
Balanceamento de carga no nível do pod |
Desativado por padrão. Ative com |
Ativado por padrão |
|
Preservação do IP de source |
Suportado |
Não suportado |
|
Persistência de sessão |
Suportado |
Não suportado |
|
Quando usar |
Aplicações que precisam registrar logs ou agir com base nos endereços IP dos clientes |
Aplicações de alta disponibilidade que não exigem preservação do IP do cliente, como grandes clusters web |