Upgrade imagí uzlů Služby Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) pravidelně poskytuje nové image uzlů, proto upgradujte image uzlů často tak, aby používaly nejnovější funkce AKS. Image uzlů Linuxu se aktualizují každý týden a Windows image uzlů se aktualizují každý měsíc. Poznámky k verzi AKS obsahují oznámení o upgradu imagí. Zavedení těchto aktualizací ve všech oblastech může trvat až dva týdny. Podívejte se na sledování verzí , kde najdete stav zavedení. Upgrady imagí uzlů můžete provádět automaticky a plánovat je pomocí plánované údržby. Další informace najdete v tématu Automatické upgrade imagí operačního systému uzlu.

AKS doporučuje kanály automatického upgradu operačního systému uzlu, které automaticky upgradují image uzlů nebo používají opravy zabezpečení během údržby beze změny verze Kubernetes. Pokud chcete image uzlů upgradovat ručně, postupujte podle pokynů v tomto článku. V tomto článku se dozvíte, jak upgradovat image uzlů clusteru AKS a jak aktualizovat image fondu uzlů bez upgradu verze Kubernetes. Informace o upgradu verze Kubernetes pro váš cluster najdete v části Upgrade clusteru AKS.

Důležité

Od 30. listopadu 2025 už Azure Kubernetes Service (AKS) nepodporuje ani neposkytuje aktualizace zabezpečení pro Azure Linux 2.0. Image uzlu Azure Linux 2.0 je zmrazen na verzi 202512.06.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Přejděte na podporovanou verzi Azure Linuxu aktualizací poolů uzlů na podporovanou verzi Kubernetes nebo migrací na osSku AzureLinux3. Další informace najdete v položce GitHub týkající se vyřazení a oznámení o ukončení podpory aktualizací Azure. Pokud chcete mít přehled o oznámeních a aktualizacích, postupujte podle poznámek k verzi AKS.

Poznámka:

Clustery, které používají architekturu NAP (Node Auto-Provisioning), automaticky aktualizují image uzlů, když je k dispozici nová image. Časové období údržby můžete nakonfigurovat tak, aby bylo možné řídit, kdy nap vybere novou image, ale okno nemusí nutně určovat, kdy dojde k narušení existujících uzlů. Logika posunu architektury NAP, rozpočty přerušení uzlů Karpenter a rozpočty přerušení podů řídí, jak a kdy dojde k přerušení. Další informace najdete v tématu Aktualizace imagí uzlu pro architekturu NAP.

Verzi image uzlu (například AKSUbuntu-2404 na AKSUbuntu-2204 nebo AKSUbuntu-2404-2404-202601.27.0 nemůžete downgradovat na AKSUbuntu-2404-202601.13.0).

Prerequisites

  • Existující cluster AKS a fond uzlů.
  • Azure CLI nainstalovaný a přihlášený k vašemu účtu Azure.
  • Oprávnění k načtení přihlašovacích údajů clusteru a čtení a aktualizaci fondů clusteru a uzlů AKS
  • Prostředí Bash. Příkazy v tomto článku používají syntaxi proměnné prostředí Bash.

Nastavte proměnné prostředí pro názvy skupin prostředků, clusteru a fondu uzlů tak, aby se používaly v následujících příkazech:

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

Připojení ke clusteru AKS

  1. Připojte se ke clusteru AKS pomocí az aks get-credentials příkazu.

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

Kontrola dostupných upgradů imagí uzlů

  1. Pomocí příkazu az aks nodepool get-upgrades zkontrolujte dostupné upgrady image uzlů.

    az aks nodepool get-upgrades \
        --nodepool-name $AKS_NODEPOOL \
        --cluster-name $AKS_CLUSTER \
        --resource-group $AKS_RESOURCE_GROUP
    
  2. Ve výstupu vyhledejte hodnotu a poznamenejte si ji latestNodeImageVersion . Tato hodnota představuje nejnovější verzi obrazu uzlu dostupnou pro vaši skupinu uzlů.

  3. Pomocí příkazu zkontrolujte aktuální verzi image uzlu a porovnejte ji s nejnovější verzí az aks nodepool show .

    az aks nodepool show \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --query nodeImageVersion
    
  4. Pokud se nodeImageVersion hodnota liší od latestNodeImageVersionhodnoty , můžete upgradovat image uzlu.

Upgradujte všechny obrazy uzlů ve všech sadách uzlů

  1. Pomocí příkazu az aks upgrade s příznakem --node-image-only upgradujte všechny obrazy uzlů ve všech fondech uzlů ve vašem clusteru.

    az aks upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --name $AKS_CLUSTER \
        --node-image-only \
        --yes
    
  2. Stav imagí uzlů můžete zkontrolovat pomocí kubectl get nodes příkazu.

    Poznámka:

    Tento příkaz se může mírně lišit v závislosti na používaném prostředí. Další informace o prostředích Windows a PowerShellu najdete v dokumentaci k Kubernetes JSONPath. Tento příkaz uvádí název každého uzlu společně s hodnotou jeho kubernetes.azure.com/node-image-version popisku, která identifikuje aktuální verzi image uzlu.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Po dokončení upgradu pomocí az aks show příkazu získejte aktualizované podrobnosti fondu uzlů. Aktuální obrázek uzlu je zobrazen ve vlastnosti nodeImageVersion.

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

Upgrade konkrétního fondu uzlů

  1. Aktualizujte obraz operačního systému poolu uzlů, aniž by byl upgradován cluster Kubernetes, pomocí příkazu az aks nodepool upgrade s příznakem --node-image-only.

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  2. Pomocí příkazu kubectl get nodes můžete zkontrolovat stav obrazů uzlů.

    Poznámka:

    Tento příkaz se může mírně lišit v závislosti na používaném prostředí. Další informace o prostředích Windows a PowerShellu najdete v dokumentaci k Kubernetes JSONPath. Tento příkaz uvádí název každého uzlu společně s hodnotou jeho kubernetes.azure.com/node-image-version popisku, která identifikuje aktuální verzi image uzlu.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Po dokončení upgradu pomocí az aks nodepool show příkazu získejte aktualizované podrobnosti fondu uzlů. Aktuální obrázek uzlu je zobrazen ve vlastnosti nodeImageVersion.

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

Vylepšete obrazy uzlů pomocí navýšení počtu uzlů

Tento postup upgraduje image uzlu pro určitý fond uzlů, ne všechny fondy uzlů v clusteru. AKS ve výchozím nastavení ke konfiguraci upgradů používá jeden další uzel. Pokud chcete urychlit proces upgradu image uzlu, upgradujte image uzlů pomocí přizpůsobitelné hodnoty nárůstu uzlu.

  1. Pomocí příkazu s příznakem --max-surge nakonfigurujte počet uzlů pro fond az aks nodepool update uzlů. Toto nastavení se zachová pro další upgrady.

    Poznámka:

    Další informace o kompromisech různých nastavení najdete v části --max-surge.

    az aks nodepool update \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --max-surge 33%
    
  2. Upgradujte image uzlu pomocí az aks nodepool upgrade příkazu s příznakem --node-image-only .

    az aks nodepool upgrade \
        --resource-group $AKS_RESOURCE_GROUP \
        --cluster-name $AKS_CLUSTER \
        --name $AKS_NODEPOOL \
        --node-image-only
    
  3. Pomocí příkazu kubectl get nodes můžete zkontrolovat stav obrazů uzlů. Tento příkaz uvádí název každého uzlu společně s hodnotou jeho kubernetes.azure.com/node-image-version popisku, která identifikuje aktuální verzi image uzlu.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  4. Chcete-li získat aktualizované podrobnosti o fondu uzlů, použijte příkaz az aks nodepool show. Aktuální obrázek uzlu je zobrazen ve vlastnosti nodeImageVersion.

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