Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Balanceador de Carga do Azure opera na camada 4 do modelo OSI (Open Systems Interconnection) que suporta cenários de entrada e saída. Distribui os fluxos de entrada que chegam à extremidade frontal do balanceador de carga pelas instâncias do conjunto da extremidade posterior.
Um balanceador de carga público integrado ao AKS serve a dois propósitos:
- Forneça conexões de saída para os nós do cluster dentro da rede virtual AKS (VNet) convertendo o endereço IP privado para um endereço IP público que faz parte de seu pool de saída.
- Forneça acesso a aplicativos por meio de serviços Kubernetes do tipo
LoadBalancer, permitindo que você dimensione facilmente seus aplicativos e crie serviços altamente disponíveis.
Este artigo aborda a integração com um balanceador de carga público no AKS. Para integração do balanceador de carga interno, consulte Usar um balanceador de carga interno no AKS.
Pré-requisitos
- O AKS suporta a SKU Standard do Balanceador de Carga do Azure, que é utilizada por predefinição quando cria um cluster do AKS. O SKU Standard dá-lhe acesso a funcionalidades, incluindo um maior conjunto de back-end, múltiplos pools de nós, Zonas de Disponibilidade, e é seguro por predefinição. O SKU Basic foi retirado a 30 de setembro de 2025 e o AKS já não o suporta. Se tiver um cluster AKS existente que utilize o SKU Basic, consulte Atualização do Balanceador de Carga Basic no AKS. Para mais informações sobre SKUs Balanceador de Carga, consulte a comparação de SKUs do Balanceador de Carga do Azure.
- Para obter uma lista completa das anotações suportadas para serviços do Kubernetes do tipo
LoadBalancer, consulte anotações do LoadBalancer. - Este artigo pressupõe que você tenha um cluster AKS com o Balanceador de Carga do Azure SKU Padrão . Se precisar de um cluster AKS, você pode criar um usando a CLI do Azure, o Azure PowerShell ou o portal do Azure.
- Tem de ter o
kubectlinstalado e configurado para ligar ao seu cluster AKS. Para instalarkubectl, descarregue as credenciais do seu cluster e verifique a ligação, veja Ligar ao cluster.
Important
Se preferir usar seu próprio gateway, firewall ou proxy para fornecer conexão de saída, ignore a criação do pool de saída do balanceador de carga e respetivo IP de front-end usando o tipo de saída como UserDefinedRouting (UDR). O tipo de saída define o método de saída para um cluster e assume como padrão o tipo LoadBalancer.
Limitations
As limitações a seguir se aplicam quando você cria e gerencia clusters AKS que suportam um balanceador de carga com a SKU padrão :
O AKS gere o ciclo de vida e as operações dos nós de agente. Não há suporte para a modificação dos recursos IaaS associados aos nós do agente. Um exemplo de uma operação sem suporte é fazer alterações manuais no grupo de recursos do balanceador de carga.
É necessário, pelo menos, um prefixo IP ou IP público para permitir o tráfego de saída do cluster do AKS. O prefixo IP ou IP público é necessário para manter a conectividade entre o plano de controlo e os nós do agente e para manter a compatibilidade com versões anteriores do AKS. Você tem as seguintes opções para especificar IPs públicos ou prefixos IP com um balanceador de carga SKU padrão :
- Forneça os seus próprios IPs públicos.
- Forneça os seus próprios prefixos de IP públicos.
- Especifique um número até 100 para permitir que o cluster AKS crie muitos IPs públicos de SKU padrão no mesmo grupo de recursos que o cluster AKS. Este grupo de recursos é geralmente nomeado com
MC_no início. O AKS atribui o IP público ao balanceador de carga SKU padrão . Por padrão, um IP público é criado automaticamente no mesmo grupo de recursos que o cluster AKS se nenhum IP público, prefixo IP público ou número de IPs for especificado. Também tem de permitir endereços públicos e evitar criar políticas do Azure que proíbam a criação de IPs.
Um IP público criado pelo AKS não pode ser reutilizado como um endereço IP público personalizado (BYO). Você deve criar e gerenciar todos os endereços IP personalizados.
Não podes alterar o SKU do balanceador de carga modificando diretamente o recurso do balanceador de carga gerido pelo AKS. Para migrar um cluster AKS existente do SKU Básico retirado para o SKU Standard , utilize o processo de atualização AKS suportado. A migração causa tempo de inatividade e não pode ser revertida depois de começar.
Os balanceadores de carga SKU padrão suportam apenas endereços IP SKU padrão .
O Serviço de Link Privado não é suportado quando o tipo de pool de back-end do balanceador de carga está definido como
nodeIP.
Criar um serviço de balanceador de carga no AKS
Depois de criar um cluster AKS com tipo LoadBalancer de saída (padrão), o cluster estará pronto para usar o balanceador de carga para expor serviços.
Verifica se o teu cluster tem pelo menos um pod pronto a funcionar com a
app: public-appetiqueta. O manifesto do serviço no passo seguinte seleciona pods com este rótulo, mas não cria uma implementação.kubectl get pods -l app=public-appCrie um manifesto de serviço chamado
public-svc.yaml, que cria um serviço público do tipoLoadBalancer.apiVersion: v1 kind: Service metadata: name: public-svc spec: type: LoadBalancer ports: - port: 80 selector: app: public-app
Especifique o endereço IP do balanceador de carga
Se você quiser usar um endereço IP específico com o balanceador de carga, você tem duas opções para especificar o endereço IP:
-
Definir anotações de serviço (recomendado): Usar
service.beta.kubernetes.io/azure-pip-namepara especificar um recurso IP público existente pelo nome. Esta anotação é a opção mais eficiente e ajuda a evitar potenciais limitações. Também pode usarservice.beta.kubernetes.io/azure-load-balancer-ipv4para um endereço IPv4 eservice.beta.kubernetes.io/azure-load-balancer-ipv6para um endereço IPv6. Para recursos IP públicos, grupos de recursos e requisitos de identidade, veja Usar um endereço IP público estático com o balanceador de carga AKS. -
Adicione a propriedade LoadBalancerIP ao manifesto YAML do balanceador de carga: adicione a
Service.Spec.LoadBalancerIPpropriedade ao manifesto YAML do balanceador de carga. Este campo está obsoleto após o Kubernetes upstream e não suporta dual-stack. O uso atual permanece o mesmo e espera-se que os serviços existentes funcionem sem modificações.
Implantar o manifesto de serviço do balanceador de carga
Implante o manifesto de serviço público usando
kubectl applye especifique o nome do seu manifesto YAML.kubectl apply -f public-svc.yamlO Balanceador de Carga do Azure é configurado com um novo IP público que faz frente ao novo serviço. Como o Balanceador de Carga do Azure pode ter vários IPs de front-end, cada novo serviço implantado recebe um novo IP de front-end dedicado para ser acessado exclusivamente.
Confirma que o teu serviço foi criado e que o balanceador de carga está configurado usando o
kubectl get servicecomando.kubectl get service public-svcQuando você visualiza os detalhes do serviço, o endereço IP público criado para esse serviço no balanceador de carga é mostrado na coluna EXTERNAL-IP da saída. Pode levar alguns minutos para que o endereço IP mude de <pendente> para um endereço IP público real. O exemplo de saída a seguir mostra a criação bem-sucedida do serviço.
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default public-svc LoadBalancer 10.0.39.110 203.0.113.187 80:32068/TCP 52sObtenha informações mais detalhadas sobre o seu serviço usando o
kubectl describe servicecomando.kubectl describe service public-svcO exemplo de saída seguinte é uma versão condensada da saída após executar
kubectl describe service. LoadBalancer Ingress mostra o endereço IP externo exposto pelo seu serviço. IP mostra os endereços internos.Name: public-svc Namespace: default Labels: <none> Annotations: <none> Selector: app=public-app ... IP: 10.0.39.110 ... LoadBalancer Ingress: 203.0.113.187 ... TargetPort: 80/TCP NodePort: 32068/TCP ... Session Affinity: None External Traffic Policy: Cluster ...