Atualização do Balanceador de Carga Básico no Serviço Kubernetes do Azure (AKS)

Neste artigo, você aprenderá a atualizar suas instâncias do Balanceador de Carga Básico para o Balanceador de Carga Padrão nos Serviços Kubernetes (AKS) do Azure. Recomendamos o uso do Standard Load Balancer para todas as instâncias de produção. Ele fornece muitas diferenças importantes para sua infraestrutura. Para obter orientação sobre como atualizar do Basic Load Balancer para o Standard Load Balancer fora do AKS, consulte as orientações oficiais para a atualização do Basic Load Balancer.

Importante

A partir de 30 de setembro de 2025, o Azure Kubernetes Service (AKS) deixou de suportar o Basic Load Balancer. Para evitar potenciais interrupções no serviço, recomendamos o uso do Standard Load Balancer para novas implementações e a atualização de quaisquer implementações existentes para o Standard Load Balancer. Para mais informações sobre esta descontinuação, consulte o problema do GitHub e o anúncio de descontinuação do Azure Updates. Para se manter informado sobre anúncios e atualizações, siga as notas de lançamento do AKS.

Note

Para clusters que usam Conjuntos de Disponibilidade e o Balanceador de Carga Básico, há um comando separado az aks update que você precisa executar para executar ambas as migrações de uma só vez (Conjuntos de Disponibilidade para pools de nós de Máquina Virtual e Balanceador de Carga Básico para Balanceador de Carga Padrão). Para conhecer as etapas sobre como executar essa migração, consulte as diretrizes de migração de conjuntos de disponibilidade .

Antes de começar

Antes de iniciar a migração, revise as seguintes informações:

  • O tempo de inatividade ocorre durante a migração. Planeje o tempo de inatividade de acordo.
  • Quando a migração começa, a reversão não é permitida.
  • Esse processo também migra seu IP básico para um IP padrão, mantendo os endereços IP de entrada associados ao balanceador de carga iguais. Novos IPs públicos são criados e associados às regras de saída do Balanceador de Carga Padrão para atender ao tráfego de saída do cluster.

Pré-requisitos

O cluster deve atender aos seguintes pré-requisitos antes de poder executar a migração:

  • A versão mínima do Kubernetes para este script é 1.27. Se você precisar atualizar seu cluster AKS, consulte Atualizar um cluster AKS.
  • Você precisa da CLI do Azure instalada. A versão mínima que você precisa é 2.76.0.
  • Se o cluster executar o Serviço de Gerenciamento de Chaves com o cofre de chave privada, você precisará desabilitar o Serviço de Gerenciamento de Chaves antes de executar a migração. Para obter mais informações, consulte Desativar KMS.
  • Você precisa desativar quaisquer ValidatingAdmissionWebhooks ou MutatingAdmissionWebhooks antes de a migração ser executada.

Atualizar o Basic Load Balancer para o Standard Load Balancer

  1. Atualize o Basic Load Balancer para Standard Load Balancer usando o comando az aks update com a flag --load-balancer-sku definida como Standard.

    az aks update \
      --name $CLUSTER_NAME \
      --resource-group $RESOURCE_GROUP \
      --load-balancer-sku=Standard
    
  2. Verifique se a migração foi bem-sucedida usando o az aks show comando.

    az aks show \
      --name $CLUSTER_NAME \
      --resource-group $RESOURCE_GROUP
    

    Na saída, confirme se o load-balancer tipo está definido como Standard.

  3. Verifique se todos os pods e serviços estão a ser executados com sucesso usando os comandos kubectl get pods e kubectl get svc.

    kubectl get svc -A
    kubectl get pods -A
    

Confirmar novos endereços IP de saída

Você pode confirmar os novos endereços IP associados às regras de saída confirmando as IDs de recurso para os endereços IP e, em seguida, listando os endereços IP.

  1. Obtenha o ID do recurso para os endereços IP de saída usando o az aks show comando.

    az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query networkProfile.loadBalancerProfile.effectiveOutboundIPs[].id
    
  2. Obtenha o novo endereço IP para cada ID de recurso usando o az network public-ip show comando.

    az network public-ip show --ids $IP_RESOURCE_ID --query ipAddress -o tsv
    

FAQ

Por que estou recebendo Error: “Load Balancer SKU 'basic' is invalid; must use 'standard'. ao criar um novo cluster AKS ou atualizar?

A Microsoft descontinuou o SKU do Balanceador de Carga Básico para certas operações AKS, e a criação agora está bloqueada em certas regiões.

Para resolver esse problema, certifique-se de especificar --load-balancer-sku standard ao criar um novo cluster. Por exemplo:

az aks create \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --load-balancer-sku standard

Porque não posso alterar o meu Balanceador de Carga Básico para Balanceador de Carga Standard diretamente?

O SKU do Load Balancer é imutável após a criação no AKS, pois é um recurso gerenciado de propriedade do cluster.

Você pode resolver isso usando uma das seguintes opções:

Por que não consigo encontrar meu IP público depois de atualizar do Basic para o Standard Load Balancer?

O objeto Load Balancer perdeu a referência ao seu recurso IP público durante a migração. Isso pode ocorrer se o IP foi vinculado ao Basic SKU Load Balancer e não foi recuperado.

Para resolver esse problema:

  1. Verifique se o novo IP público padrão existe no grupo de recursos correto.

  2. Reassocie-o no manifesto de serviço usando a seguinte configuração:

    annotations:
      service.beta.kubernetes.io/azure-load-balancer-ipv4: <your-ip>
    

Ao migrar o balanceador de carga em um cluster privado sem um IP público, por que um IP público ainda é criado durante a migração?

Se outboundType for LoadBalancer, o AKS provisiona automaticamente um IP público (PIP), independentemente da SKU do balanceador de carga.

Para resolver esse problema:

  1. Mude outboundType para userDefinedRouting um cluster totalmente privado.
  2. Verifique se o roteamento de saída personalizado está configurado por meio do Firewall do Azure/NVA.

Por que a migração falha na configuração interna do Load Balancer?

As ferramentas de migração atuais não suportam balanceadores de carga de rede virtual interna (VNet) com Basic to Standard no local.

Para resolver esse problema:

  1. Recrie o cluster na mesma VNet com o Standard Load Balancer.
  2. Implante cargas de trabalho e valide a resolução interna de nomes.

Os meus grupos de nós estão a usar Conjuntos de Disponibilidade. Ainda terei problemas mesmo após a migração do Load Balancer?

Yes. Se os seus pools de nós usarem Conjuntos de Disponibilidade, eles também serão descontinuados no AKS após 30 de setembro de 2025.

Para resolver esse problema:

  1. Para clusters que utilizam Conjuntos de Disponibilidade e o Balanceador de Carga Básico, existe um comando separado az aks update que deve ser executado para realizar ambas as migrações de uma só vez (de Conjuntos de Disponibilidade para pools de nós de Máquinas Virtuais e de Balanceador de Carga Básico para Balanceador de Carga Padrão). Para conhecer as etapas sobre como executar essa migração, consulte as diretrizes de migração de conjuntos de disponibilidade .
  2. Após a atualização, as APIs CLI ou REST do Azure devem ser usadas para executar operações CRUD ou gerenciar o pool. Verifique as limitações.

Preciso excluir webhooks padrão antes de atualizar?

Não. Se nenhum outro ValidatingAdmissionWebhooks ou MutatingAdmissionWebhooks estiver presente no cluster, os webhooks padrão no plano de controlo devem continuar a ser utilizados durante a migração.

Os webhooks padrão incluem:

  • aks-node-mutating-webhook
  • webhook-admission-controller
  • node-validating-webhook

Que acesso é necessário para executar os comandos de migração?

Para executar os comandos de migração, você precisa:

  • Função de Colaborador ou Proprietário na assinatura ou no grupo de recursos.
  • A versão da CLI do Azure deve ser ≥ 2.72.0.
  • A versão da extensão de visualização do AKS deve ser ≥ 0.5.170.

Como posso ver se a criptografia KMS (Serviço de Gerenciamento de Chaves) está desabilitada?

Você pode verificar se a criptografia KMS está habilitada no cluster AKS usando o az aks list comando.

az aks list --query "[].{Name:name, KmsEnabled:securityProfile.azureKeyVaultKms.enabled, KeyId:securityProfile.azureKeyVaultKms.keyId}"
  • Se a saída mostrar "KmsEnabled": null, isso significa que a criptografia KMS não está habilitada para esse cluster e você pode ignorar todas as etapas para desativá-la. Por exemplo:

      {
    
        "KeyId": null,
    
        "KmsEnabled": null,
    
        "Name": "myAKSCluster"
    
      },
    ...
    
  • Se o KMS estiver habilitado e você quiser desativá-lo, consulte Desativar a criptografia KMS.

Próximos passos

Para obter mais informações sobre a rede AKS, consulte Conceitos de rede para o Serviço Kubernetes do Azure (AKS).