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

Neste artigo, você aprenderá a atualizar suas instâncias básicas do Load Balancer para o Standard Load Balancer no AKS (Serviços de Kubernetes do Azure). É recomendável usar o Standard Load Balancer para todas as instâncias de produção. Ele fornece muitas diferenças importantes para sua infraestrutura. Para obter diretrizes sobre como atualizar do Load Balancer Básico para o Standard Load Balancer fora do AKS, consulte as diretrizes oficiais para a atualização básica do Load Balancer.

Importante

A partir de 30 de setembro de 2025, o AKS (Serviço de Kubernetes do Azure) não dá mais suporte ao Load Balancer Básico. Para evitar possíveis interrupções de serviço, recomendamos usar o Standard Load Balancer para novas implantações e atualizar quaisquer implantações existentes para o Standard Load Balancer. Para obter mais informações sobre essa desativação, consulte o problema de desativação do GitHub e o anúncio de desativação do Azure Updates. Para se manter informado sobre anúncios e atualizações, acompanhe as notas de lançamento do AKS.

Observação

Para clusters que utilizam Conjuntos de Disponibilidade e o Load Balancer Básico, você precisa executar um comando separado az aks update para realizar ambas as migrações de uma vez (de Conjuntos de Disponibilidade para pools de nós de Máquina Virtual, e de Load Balancer Básico para o Standard Load Balancer). Para obter etapas sobre como executar essa migração, consulte as diretrizes de migração dos Conjuntos de Disponibilidade .

Antes de começar

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

  • O tempo de inatividade ocorre durante a migração. Planeje o tempo de inatividade adequadamente.
  • Depois que a migração começar, a reversão não será permitida.
  • Esse processo também migra seu IP Básico para um IP Standard, mantendo os endereços IP de entrada associados ao balanceador de carga da mesma forma. Novos IPs públicos são criados e associados às regras de saída do Standard Load Balancer para atender ao tráfego de saída do cluster.

Pré-requisitos

Seu cluster deve atender aos seguintes pré-requisitos para que você possa executar a migração:

  • A versão mínima do Kubernetes para esse script é 1.27. Se você precisar atualizar seu cluster do AKS, consulte Atualizar um cluster do AKS.
  • Você precisa da CLI do Azure instalada. A versão mínima necessária é 2.76.0.
  • Se o cluster executar o Serviço de Gerenciamento de Chaves com o cofre de chaves privado, 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 desabilitar qualquer ValidatingAdmissionWebhooks ou MutatingAdmissionWebhooks antes de executar a migração.

Atualizar o Load Balancer Básico para o Load Balancer Padrão

  1. Atualize seu Load Balancer Básico para o Standard Load Balancer usando o comando az aks update com o parâmetro --load-balancer-sku definido 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 executados com êxito 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 listando os endereços IP.

  1. Obtenha a 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
    

perguntas frequentes

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

A Microsoft descontinuou o SKU Básico do Load Balancer para determinadas operações em AKS, e a criação agora está bloqueada em algumas regiões.

Para resolver esse problema, especifique --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

Por que não posso alterar o meu Basic Load Balancer para Standard Load Balancer no local?

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 recurso de IP público durante a migração. Isso poderá ocorrer se o IP estiver vinculado ao Load Balancer de SKU Básico e não tiver sido recuperado.

Para resolver o problema:

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

  2. Reassocie-o no manifesto do 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 do SKU do Load Balancer.

Para resolver o problema:

  1. Altere outboundType para userDefinedRouting para 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 dão suporte a balanceadores de carga de rede virtual interna (VNet) do tipo Básico para Standard no local.

Para resolver o problema:

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

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

Sim. Se os 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 o problema:

  1. Para clusters que usam Conjuntos de Disponibilidade e o Load Balancer Básico, há um comando separado az aks update que você deve executar para realizar as duas migrações ao mesmo tempo (Conjuntos de Disponibilidade para pools de nós de Máquina Virtual e Load Balancer Básico para o Standard Load Balancer). Para obter etapas sobre como executar essa migração, consulte as diretrizes de migração dos Conjuntos de Disponibilidade .
  2. Após a atualização, a CLI do Azure ou as APIs REST 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, será adequado manter os webhooks padrão no plano de controle durante a migração.

Os webhooks padrão incluem:

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

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

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

  • A função de Colaborador ou de 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 do 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á ativada para esse cluster e você pode ignorar qualquer etapa para desativá-la. Por exemplo:

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

Próximas etapas

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