Compartilhar via


Atualizar imagens de nodes do Azure Kubernetes Service (AKS)

Implantar e explorar

O Serviço de Kubernetes do Azure (AKS) fornece regularmente novas imagens de nós, portanto, é benéfico atualizar suas imagens de nós 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. Os anúncios de atualização de imagem são incluídos nas notas de lançamento AKS e podem levar até uma semana para que essas atualizações sejam distribuídas em todas as regiões. Consulte o rastreador de lançamento para ver o status de distribuição. Você também pode realizar atualizações automáticas da imagem do nó e agendá-las usando a manutenção planejada. Para obter mais informações, confira Atualização automática das imagens de nós.

O AKS recomenda canais de atualização automática que podem atualizar automaticamente as imagens dos nós ou aplicar patches de segurança durante os períodos de manutenção. Se você deseja atualizar manualmente as imagens do seu nó, siga as instruções deste 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.

Observação

Os clusters que utilizam o auto-provisionamento de nós (NAP) têm as imagens dos nós atualizadas automaticamente assim que uma nova imagem de nó fica disponível por padrão, o que também pode ser programado com janelas de manutenção. Para obter mais informações, visite a documentação de atualização de imagem do nó NAP

Não é possível fazer o downgrade de uma versão da imagem do nó (por exemplo, AKSUbuntu-2404 para AKSUbuntu-2204 ou AKSUbuntu-2404-202601.27.0 para AKSUbuntu-2404-202601.13.0).

Conectar-se ao cluster do AKS

  1. Conecte-se ao cluster do AKS usando o 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 \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. Na saída, localize e anote o valor . 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 \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Se o valor for diferente de , você poderá atualizar a imagem do seu 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 cluster usando o comando com o sinalizador .

    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 .

    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.

    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 para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedade .

    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 com o sinalizador .

    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 .

    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.

    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 para obter os detalhes atualizados do pool de nós. A imagem do nó atual é mostrada na propriedade .

    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ó

Para acelerar o processo de atualização de imagem de nó, atualize suas imagens de nó usando um valor de surto de nó personalizável. Por padrão, o AKS usa um nó extra para configurar atualizações.

  1. Atualize as imagens dos nós com o pico de nós, usando o comando com a sinalizador para configurar quantos nós serão usados nas atualizações.

    Observação

    Para saber mais sobre as compensações de várias configurações , 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% \
        --no-wait
    
  2. Você pode verificar o estado das imagens do nó com o comando .

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

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

Próximas etapas