O Network Load Balancer (NLB) é um balanceador de carga da camada 4 da Alibaba Cloud que oferece alto desempenho, dimensionamento automático e alta disponibilidade para melhorar a estabilidade do tráfego do gateway. O ASM permite o uso de NLB em seus gateways de entrada. Ao definir o type do Service de um gateway de entrada do ASM como LoadBalancer, o sistema associa um Classic Load Balancer (CLB) por padrão. Este tópico descreve como associar um NLB.
Pré-requisitos
Um cluster ACK foi adicionado a uma instância do ASM e as seguintes condições foram atendidas:
O cluster Kubernetes está na versão 1.24 ou posterior e o Cloud Controller Manager (CCM) está na versão 2.5.0 ou posterior.
A instância do ASM está na versão 1.18 ou posterior.
A VPC do cluster ACK possui vSwitches em pelo menos duas zonas.
Procedimento
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique em nome da instância do ASM. No painel de navegação à esquerda, escolha .
-
Crie um gateway de entrada usando o console do ASM ou um modelo YAML.
Console
Na página Ingress Gateway, clique em Create. Esta seção descreve apenas os parâmetros específicos do NLB. Para obter informações sobre outros parâmetros, consulte Criar um gateway de entrada.
Parâmetro
Descrição
NLB
Este parâmetro fica disponível somente quando Service Type está definido como LoadBalancer.
Oferece suporte a Internet Access e Private Access.
Create SLB Instance
-
O console define Create SLB Instance como padrão, mas você pode selecionar Use Existing CLB Instance conforme necessário.
-
Ao escolher esta opção, selecione vSwitches em pelo menos duas zonas em Select Zones for NLB Instance.
Use Existing CLB Instance
Selecione um NLB existente na lista suspensa Select Existing Load Balancer Instance caso opte por este recurso.
ImportanteAtribua um balanceador de carga dedicado a cada serviço do Kubernetes. O compartilhamento de um balanceador de carga entre vários serviços apresenta os seguintes riscos e limitações:
-
Reutilizar um balanceador de carga existente sobrescreve seus listeners, o que pode causar interrupções na aplicação.
-
Não é possível reutilizar um balanceador de carga criado automaticamente pelo Kubernetes por meio de um Service. Apenas balanceadores criados manualmente no console ou via chamada de OpenAPI são elegíveis para reutilização.
-
Vários serviços que compartilham o mesmo balanceador de carga não podem ter a mesma porta de listener de frontend. Caso contrário, ocorrerá um conflito de porta.
-
Ao reutilizar um balanceador de carga, o Kubernetes usa os nomes do listener e do grupo vServer como identificadores exclusivos. Não modifique esses nomes.
-
Não há suporte para o compartilhamento de um balanceador de carga entre clusters ou regiões diferentes.
YAML
Na página Ingress Gateway, clique em Create from YAML, defina o nome do gateway como ingressgateway-nlb-test e selecione istio-system como Namespaces. Em seguida, insira o seguinte YAML.
No arquivo YAML, defina
loadBalancerClasscomoalibabacloud.com/nlb. Não é necessário especificar uma configuração de NLB, mas você deve definir pelo menos duas zonas.Após criar o gateway, seus detalhes aparecem na página. Diferentemente de um gateway baseado em CLB, um gateway baseado em NLB utiliza um nome de domínio para seu Service address, e não um endereço IP. Além disso, como duas zonas foram especificadas durante a criação do gateway de entrada, o nome de domínio está vinculado a dois endereços IP.
Depois que o gateway é criado, visualize as informações da instância na página do gateway de entrada. Esses dados incluem o nome do gateway (como
ingressgateway-nlb-test), status, versão, ID do cluster, endereço do serviço (nome de domínio do NLB) e mapeamento de portas (como HTTP | 80:80 e HTTPS | 443:443). A página também fornece links para operações de gerenciamento, como Edit Gateway, View Details, View YAML e Delete, além de recursos avançados e opções de observabilidade, como Gateway Security, Log Center e Gateway Monitoring.Acesse o console do NLB para verificar o status da instância do NLB. Para mais informações sobre o NLB, consulte Configurar uma instância de NLB usando anotações e Faturamento do NLB.
-