Atualizar imagens de nodes do AKS (Serviço de Kubernetes do Azure)

AKS (Serviço de Kubernetes do Azure) fornece regularmente novas imagens de nó, portanto, atualize suas imagens de nó com frequência para usar os recursos mais recentes do AKS. As imagens de nó do Linux são atualizadas semanalmente e as imagens de nó do Windows são atualizadas mensalmente. As notas de versão do AKS incluem anúncios de atualização de imagem. Pode levar até duas semanas para essas atualizações serem distribuídas em todas as regiões. Consulte o rastreador de versão para obter o status de distribuição. Você também pode executar atualizações de imagem de nó automaticamente e agende-as usando a manutenção planejada. Para obter mais informações, consulte Atualizar automaticamente as imagens do sistema operacional do nó.

O AKS recomenda canais de atualização automática do sistema operacional do nó, que atualizam automaticamente suas imagens de nó ou aplicam patches de segurança durante as janelas de manutenção sem alterar a versão do Kubernetes. Se você quiser atualizar manualmente as imagens do nó, siga as instruções neste artigo. Este artigo mostra como atualizar imagens de nós no cluster do AKS e como atualizar imagens do pool de nós sem atualizar a versão do Kubernetes. Para saber mais sobre como atualizar a versão do Kubernetes para seu cluster, confira Atualizar um cluster do AKS.

Importante

A partir de 30 de novembro de 2025, o AKS (Serviço de Kubernetes do Azure) não dá mais suporte ou fornece atualizações de segurança para o Azure Linux 2.0. A imagem do nó Azure Linux 2.0 está congelada na versão 202512.06.0. A partir de 31 de março de 2026, as imagens dos nós serão removidas e você não poderá dimensionar os pools de nós. Migre para uma versão do Azure Linux com suporte atualizando os pools de nós para uma versão do Kubernetes com suporte ou migrando para o osSku AzureLinux3. Para obter mais informações, 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

Os clusters que usam o NAP (Provisionamento Automático de Nós) atualizam automaticamente imagens de nó quando uma nova imagem está disponível. Você pode configurar uma janela de manutenção para controlar quando o NAP pega uma nova imagem, mas a janela não determina necessariamente quando os nós existentes são interrompidos. A lógica de descompasso do NAP, os orçamentos de interrupção do nó karpenter e os orçamentos de interrupção do pod controlam como e quando ocorre a interrupção. Para obter mais informações, consulte atualizações de imagem do Nó para NAP.

Você não pode fazer downgrade de uma versão de imagem de nó (por exemplo, AKSUbuntu-2404 para AKSUbuntu-2204 ou AKSUbuntu-2404-202601.27.0 para AKSUbuntu-2404-202601.13.0).

Pré-requisitos

  • Um cluster e um pool de nós do AKS existentes.
  • O CLI do Azure instalado e conectado à sua conta Azure.
  • Permissão para recuperar credenciais de cluster e ler e atualizar os pools de clusters e nós do AKS.
  • Uma concha bash. Os comandos neste artigo usam a sintaxe de variável de ambiente bash.

Defina variáveis de ambiente para o grupo de recursos, cluster e nomes de pool de nós a serem usados nos comandos subsequentes:

export AKS_RESOURCE_GROUP="<resource-group-name>"
export AKS_CLUSTER="<cluster-name>"
export AKS_NODEPOOL="<node-pool-name>"

Conectar-se ao cluster do AKS

  1. Conecte-se ao cluster do AKS usando o az aks get-credentials comando.

    az aks get-credentials \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER
    

Verifique se há atualizações de imagem de nó disponíveis

  1. Verifique se há atualizações de imagem de nó disponíveis usando o comando az aks nodepool get-upgrades.

    az aks nodepool get-upgrades \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. Na saída, localize e anote o valor latestNodeImageVersion. Este valor é a versão mais recente da imagem do nó disponível para o seu pool de nós.

  3. Verifique a versão da imagem do nó que você está utilizando atualmente para compará-la com a versão mais recente, usando o comando az aks nodepool show.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Se o valor nodeImageVersion for diferente de latestNodeImageVersion, você poderá atualizar sua imagem de nó.

Atualizar todas as imagens de nós em todos os pools de nós

  1. Atualize todas as imagens de nós em todos os pools de nós no seu cluster usando o comando az aks upgrade com o sinalizador --node-image-only.

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. Você pode verificar o estado das imagens do nó usando o comando kubectl get nodes.

    Observação

    Esse comando pode ser um pouco diferente dependendo do shell que você usa. Para obter mais informações sobre Windows e ambientes do PowerShell, consulte a documentação Kubernetes JSONPath. Esse comando lista o nome de cada nó junto com o valor de seu kubernetes.azure.com/node-image-version rótulo, que identifica a versão atual da imagem do nó.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Quando a atualização for concluída, use o comando az aks show para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedade nodeImageVersion.

    az aks show \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER  \
        --query "agentPoolProfiles[].{Name:name, NodeImageVersion:nodeImageVersion}"
    

Atualizar um pool de nós específico

  1. Atualize a imagem do sistema operacional de um pool de nós sem fazer uma atualização do cluster Kubernetes usando o comando az aks nodepool upgrade com o sinalizador --node-image-only.

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. Você pode verificar o estado das imagens do nó com o comando kubectl get nodes.

    Observação

    Esse comando pode ser um pouco diferente dependendo do shell que você usa. Para obter mais informações sobre Windows e ambientes do PowerShell, consulte a documentação Kubernetes JSONPath. Esse comando lista o nome de cada nó junto com o valor de seu kubernetes.azure.com/node-image-version rótulo, que identifica a versão atual da imagem do nó.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Quando a atualização for concluída, use o comando az aks nodepool show para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedade nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    

Atualizar imagens de nó com surtos de nó

Este procedimento atualiza a imagem do nó para um pool de nós específico, nem todos os pools de nós no cluster. Por padrão, o AKS usa um nó extra para configurar atualizações. Para acelerar o processo de atualização de imagem do nó, atualize as imagens do nó usando um valor de aumento de nó personalizável.

  1. Configure o número de nós de aumento para o pool de nós usando o az aks nodepool update comando com o --max-surge sinalizador. Essa configuração persiste para atualizações subsequentes.

    Observação

    Para saber mais sobre as compensações de várias configurações --max-surge, confira Personalizar atualização de surtos de nó.

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33%
    
  2. Atualize a imagem do nó usando o az aks nodepool upgrade comando com o --node-image-only sinalizador.

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  3. Você pode verificar o estado das imagens do nó com o comando kubectl get nodes. Esse comando lista o nome de cada nó junto com o valor de seu kubernetes.azure.com/node-image-version rótulo, que identifica a versão atual da imagem do nó.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  4. Obtenha os detalhes atualizados do pool de nós usando o az aks nodepool show comando. A imagem do nó atual é mostrada na propriedade nodeImageVersion.

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion