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.
A colocação automática de zonas no Azure Kubernetes Service (AKS) seleciona dinamicamente o melhor conjunto de zonas de disponibilidade para um pool de nós. Não precisas de especificar manualmente as zonas para cada região e combinação de SKU de VM. Quando cria ou atualiza um conjunto de nós com --zones auto, o AKS coloca máquinas virtuais (VMs) em zonas de disponibilidade com capacidade para o SKU solicitado na região de destino e aplica uma percentagem máxima de instâncias de 50% por zona.
Este artigo mostra-lhe como criar ou atualizar pools de nós AKS que utilizam o posicionamento automático em zonas.
Como funciona a colocação automática das zonas
Quando especificas --zones auto (ou availabilityZones: ["auto"] no perfil do pool de agentes), o AKS usa a política automática de colocação de zonas do Azure Compute para selecionar zonas e distribuir nós. Não precisas de especificar números de zona nem manter configurações de zona diferentes para cada região e SKU de VM.
A colocação automática das zonas funciona da seguinte forma:
- O AKS avalia quais as zonas de disponibilidade na região-alvo que podem suportar o SKU de VM solicitado.
- O AKS seleciona inicialmente até três zonas disponíveis e posiciona os nós de acordo com a política automática de colocação de zonas. Por predefinição, nenhuma zona pode conter mais de 50% do conjunto de nós.
- Em operações posteriores de expansão horizontal, o AKS reavalia a disponibilidade das zonas. Se o Azure adicionar uma zona à região ou disponibilizar o SKU VM noutra zona, o AKS pode colocar novos nós nessa zona quando a política de colocação e a capacidade disponível o permitirem. Não precisas de atualizar a configuração do pool de nós.
Importante
O limite de 50% é uma concentração máxima por zona, não uma garantia de que os nós estejam sempre distribuídos de forma igual. A distribuição real depende do número de nós, das zonas que suportam o SKU VM selecionado e da capacidade disponível quando os nós são provisionados. Uma operação de criação ou escalabilidade pode falhar se o Azure não conseguir alocar os nós solicitados respeitando o limite por zona.
Esta abordagem resolve pontos comuns de dor especificando manualmente as zonas:
- Implantações independentes da região: Utilize configurações consistentes entre regiões sem se preocupar com diferenças de disponibilidade de zonas.
- Resiliência melhorada: Alcança automaticamente redundância multizona para maior disponibilidade de aplicações.
- Expansão automática de zonas: Aproveite de forma fluida novas zonas de disponibilidade quando as regiões expandem (por exemplo, de três para quatro zonas).
- Redução de falhas de implementação: Reduza falhas de criação e escalabilidade de alocação causadas por restrições de capacidade numa zona específica, com base na sua tolerância de carga de trabalho ao equilíbrio zonal.
Limitações e considerações
- O posicionamento automático por zonas suporta a criação e a atualização de conjuntos de nós baseados em Conjuntos de Dimensionamento de Máquinas Virtuais e em Máquinas Virtuais.
- O limite padrão por zona é de 50% de nós.
- A colocação automática de zonas destina-se a cargas de trabalho que abrangem zonas . Para cargas de trabalho alinhadas por zonas (onde cada pool de nós está fixado numa única zona), continue a especificar explicitamente a zona usando
--zones 1,--zones 2, e assim sucessivamente.
Pré-requisitos
Importante
As funcionalidades de pré-visualização do AKS estão disponíveis num regime de autosserviço e de adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de pré-visualização do AKS são apenas parcialmente abrangidas pelo suporte ao cliente, na medida do possível. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Versão
2026-01-02-previewda API AKS ou posterior.A versão mais recente da extensão do CLI do Azure aks-preview.
Uma região que suporta zonas de disponibilidade. Para mais informações, consulte a Lista de regiões Azure.
A feature flag
VmssAutomaticZonePlacementestá registada na sua subscrição. Registe o sinalizador de funcionalidade utilizando o comandoaz feature register:az feature register \ --namespace Microsoft.Compute \ --name VmssAutomaticZonePlacementVerifique o estado do registo usando o
az feature showcomando:az feature show \ --namespace Microsoft.Compute \ --name VmssAutomaticZonePlacement \ --query properties.state \ --output tsvEspera até o comando regressar
Registeredantes de continuares.
Crie um cluster AKS com posicionamento automático de zonas (Pré-visualização)
Crie um novo cluster AKS com um pool de nós do sistema baseado em Conjuntos de Dimensionamento de Máquinas Virtuais ou em Máquinas Virtuais que utilize o posicionamento automático em zonas, utilizando o comando az aks create com --zones auto:
az aks create \
--resource-group example-rg \
--name example-cluster \
--node-vm-size Standard_D8s_v5 \
--node-count 10 \
--zones auto
O AKS escolhe as zonas que têm capacidade para Standard_D8s_v5 na região de destino e distribui os 10 nós por elas, sem que uma única zona tenha mais de 50% dos nós.
Adicionar um pool de nós com posicionamento automático das zonas (Pré-visualização)
Adicione um novo pool de nós baseado em Conjuntos de Dimensionamento de Máquinas Virtuais ou baseado em Máquinas Virtuais a um cluster existente, utilizando o comando az aks nodepool add com --zones auto:
az aks nodepool add \
--resource-group example-rg \
--cluster-name example-cluster \
--name userpoolauto \
--node-vm-size Standard_D8s_v5 \
--node-count 6 \
--zones auto
Atualizar um conjunto de nós existente para usar a atribuição automática de zonas (Pré-visualização)
Atualize um pool de nós existente baseado em conjuntos de dimensionamento de máquinas virtuais ou em Máquinas Virtuais para utilizar o posicionamento automático em zonas, utilizando o comando az aks nodepool update com --zones auto:
az aks nodepool update \
--resource-group example-rg \
--cluster-name example-cluster \
--name nodepool1 \
--zones auto
O AKS atualiza o pool de nós existente através de uma operação contínua:
- O AKS adiciona nós de pico que usam a colocação automática das zonas.
- O AKS limita e drena os nós existentes.
- O AKS remove os nós existentes depois de as cargas de trabalho serem movidas para os nós de expansão.
A operação tem em conta as seguintes definições de atualização que configurar no pool de nós:
-
Aumento máximo (
--max-surge): Controla quantos nós adicionais o AKS adiciona durante a atualização. Um valor mais elevado completa a atualização mais rapidamente, mas requer maior quota de computação e capacidade IP de sub-rede. -
Tempo limite de drenagem do nó (
--drain-timeout): Controla quanto tempo o AKS espera pela remoção dos pods de um nó antes de a operação de drenagem falhar. -
Tempo de estabilização do nó (
--node-soak-duration): Controla quanto tempo o AKS espera depois de um novo nó ficar pronto antes de avançar para o lote seguinte.
Antes de começares a atualização, certifica-te de que tens quota de computação e capacidade IP de sub-redes suficientes para os nós de pico e que os teus orçamentos de interrupção de pods permitem que os nós se esgotem.
Verificar a localização da zona
Depois de criar ou atualizar o cluster ou pool de nós, verifique as zonas que o AKS selecionou usando o az aks show comando.
az aks show \
--name example-cluster \
--resource-group example-rg \
--query agentPoolProfiles[].availabilityZones \
--output tsv
Também podes usar kubectl para confirmar a distribuição dos nós entre zonas.
kubectl get nodes -o custom-columns='NAME:metadata.name, REGION:metadata.labels.topology\.kubernetes\.io/region, ZONE:metadata.labels.topology\.kubernetes\.io/zone'
Exemplo de saída:
NAME REGION ZONE
aks-nodepool1-12345678-vmss000000 eastus eastus-1
aks-nodepool1-12345678-vmss000001 eastus eastus-2
aks-nodepool1-12345678-vmss000002 eastus eastus-3
...