Aggiornare le immagini del nodo del servizio Azure Kubernetes

Servizio Azure Kubernetes (AKS) fornisce regolarmente nuove immagini dei nodi, quindi aggiornare spesso le immagini del nodo per usare le funzionalità più recenti del servizio Azure Kubernetes. Le immagini dei nodi Linux vengono aggiornate ogni settimana e Windows immagini dei nodi vengono aggiornate ogni mese. Le note sulla versione del servizio Azure Kubernetes includono annunci di aggiornamento delle immagini. L'implementazione di questi aggiornamenti in tutte le aree può richiedere fino a due settimane. Per informazioni sullo stato di implementazione, vedere lo strumento di rilevamento delle versioni. È anche possibile eseguire automaticamente gli aggiornamenti delle immagini del nodo e pianificarli usando la manutenzione pianificata. Per altre informazioni, vedere Aggiornare automaticamente le immagini del sistema operativo del nodo.

Il servizio Azure Kubernetes consiglia canali di aggiornamento automatico del sistema operativo del nodo, che aggiornano automaticamente le immagini del nodo o applicano patch di sicurezza durante le finestre di manutenzione senza modificare la versione di Kubernetes. Per aggiornare manualmente le immagini del nodo, seguire le istruzioni riportate in questo articolo. Questo articolo illustra come aggiornare le immagini dei nodi del cluster del servizio Azure Kubernetes e come aggiornare le immagini del pool di nodi senza aggiornare la versione di Kubernetes. Per informazioni sull'aggiornamento della versione di Kubernetes per il cluster, vedere Aggiornare un cluster del servizio Azure Kubernetes.

Importante

A partire dal 30 novembre 2025, il servizio Azure Kubernetes non supporta più o fornisce aggiornamenti della sicurezza per Azure Linux 2.0. L'immagine del nodo Azure Linux 2.0 è congelata alla versione 202512.06.0. A partire dal 31 marzo 2026, le immagini dei nodi verranno rimosse e non sarà possibile ridimensionare i pool di nodi. Esegui la migrazione a una versione supportata di Azure Linux aggiornando i tuoi pool di nodi a una versione di Kubernetes supportata o migrando a osSku AzureLinux3. Per altre informazioni, vedere il problema di ritiro di GitHub e l'annuncio di ritiro degli aggiornamenti di Azure. Per rimanere informati sugli annunci e sugli aggiornamenti, segui le note di rilascio di AKS.

Annotazioni

I cluster che usano il provisioning automatico del nodo aggiornano automaticamente le immagini dei nodi quando è disponibile una nuova immagine. È possibile configurare una finestra di manutenzione per controllare quando Protezione accesso alla rete preleva una nuova immagine, ma la finestra non determina necessariamente quando i nodi esistenti vengono interrotti. La logica di deriva di Nap, i budget di interruzione del nodo Karpenter e i budget di interruzione dei pod controllano come e quando si verifica un'interruzione. Per altre informazioni, vedere Aggiornamenti delle immagini del nodo per Protezione accesso alla rete.

Non è possibile effettuare il downgrade di una versione dell'immagine del nodo, ad esempio AKSUbuntu-2404 a AKSUbuntu-2204 o AKSUbuntu-2404-202601.27.0 a AKSUbuntu-2404-202601.13.0.

Prerequisiti

  • Un cluster del servizio Azure Kubernetes esistente e un pool di nodi.
  • Il interfaccia della riga di comando di Azure installato e connesso all'account Azure.
  • Autorizzazione per recuperare le credenziali del cluster e leggere e aggiornare il cluster e i pool di nodi del servizio Azure Kubernetes.
  • Shell Bash. I comandi in questo articolo usano la sintassi delle variabili di ambiente Bash.

Impostare le variabili di ambiente per i nomi del gruppo di risorse, del cluster e del pool di nodi da usare nei comandi successivi:

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

Connettersi al cluster AKS

  1. Connettiti al cluster del servizio Azure Kubernetes usando il comando az aks get-credentials.

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

Verificare la disponibilità di aggiornamenti delle immagini dei nodi

  1. Verificare la disponibilità di aggiornamenti delle immagini dei nodi usando il 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. Nell'output, trova e prendi nota del valore latestNodeImageVersion. Questo valore è la versione più recente dell'immagine del nodo disponibile per il pool di nodi.

  3. Controllare la versione corrente dell'immagine del nodo per confrontare con la versione più recente usando il az aks nodepool show comando .

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Se il nodeImageVersion valore è diverso da latestNodeImageVersion, è possibile aggiornare l'immagine del nodo.

Aggiornare tutte le immagini dei nodi in tutti i pool di nodi

  1. Aggiorna tutte le immagini di nodo in tutti i pool di nodi del cluster usando il comando az aks upgrade con il flag --node-image-only.

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. È possibile controllare lo stato delle immagini dei nodi usando il comando kubectl get nodes.

    Annotazioni

    Questo comando potrebbe variare leggermente a seconda della shell usata. Per altre informazioni sugli ambienti Windows e PowerShell, vedere la documentazione Kubernetes JSONPath. Questo comando elenca il nome di ogni nodo insieme al valore dell'etichetta kubernetes.azure.com/node-image-version , che identifica la versione corrente dell'immagine del nodo.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Al termine dell'aggiornamento, usare il az aks show comando per ottenere i dettagli del pool di nodi aggiornati. L'immagine del nodo corrente viene visualizzata nella proprietà nodeImageVersion.

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

Aggiornare un pool di nodi specifico

  1. Aggiornare l'immagine del sistema operativo di un pool di nodi senza eseguire un aggiornamento del cluster Kubernetes usando il az aks nodepool upgrade comando con il --node-image-only flag .

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. È possibile controllare lo stato delle immagini dei nodi usando il comando kubectl get nodes.

    Annotazioni

    Questo comando potrebbe variare leggermente a seconda della shell usata. Per altre informazioni sugli ambienti Windows e PowerShell, vedere la documentazione Kubernetes JSONPath. Questo comando elenca il nome di ogni nodo insieme al valore dell'etichetta kubernetes.azure.com/node-image-version , che identifica la versione corrente dell'immagine del nodo.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Al termine dell'aggiornamento, usare il az aks nodepool show comando per ottenere i dettagli del pool di nodi aggiornati. L'immagine del nodo corrente viene visualizzata nella proprietà nodeImageVersion.

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

Aggiornare le immagini dei nodi con node:surge

Questa procedura aggiorna l'immagine del nodo per un pool di nodi specifico, non tutti i pool di nodi nel cluster. Per impostazione predefinita, Azure Kubernetes Service (AKS) utilizza un nodo aggiuntivo per configurare gli aggiornamenti. Per velocizzare il processo di aggiornamento dell'immagine del nodo, aggiornare le immagini del nodo usando un valore di picco del nodo personalizzabile.

  1. Configurare il numero di nodi di picco per il pool di nodi usando il az aks nodepool update comando con il --max-surge flag . Questa impostazione viene mantenuta per gli aggiornamenti successivi.

    Annotazioni

    Per altre informazioni sui compromessi di varie impostazioni di --max-surge, vedere Personalizzare l'aggiornamento del picco di nodi.

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33%
    
  2. Aggiornare l'immagine del nodo usando il az aks nodepool upgrade comando con il --node-image-only flag .

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  3. È possibile controllare lo stato delle immagini dei nodi usando il comando kubectl get nodes. Questo comando elenca il nome di ogni nodo insieme al valore dell'etichetta kubernetes.azure.com/node-image-version , che identifica la versione corrente dell'immagine del nodo.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  4. Ottenere i dettagli del pool di nodi aggiornati usando il az aks nodepool show comando . L'immagine del nodo corrente viene visualizzata nella proprietà nodeImageVersion.

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