Sdílet prostřednictvím


Aktualizace image pro uzly služby Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) pravidelně poskytuje nové image uzlů, takže je vhodné často upgradovat image uzlů tak, aby používaly nejnovější funkce AKS. Image uzlů Linuxu se aktualizují každý týden a image uzlů Windows se aktualizují každý měsíc. Oznámení o upgradu imagí jsou součástí poznámek k verzi AKS a jejich uvedení do všech oblastí může trvat až týden. Upgrady imagí uzlů můžete provádět automaticky a plánovat je pomocí plánované údržby. Další informace viz Automatická aktualizace obrazů uzlů.

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.

Poznámka:

Cluster AKS musí pro uzly používat škálovací sady virtuálních počítačů.

Verzi image uzlu není možné downgradovat (například AKSUbuntu-2204 na AKSUbuntu-1804 nebo AKSUbuntu-2204-2204-202308.01.0 na AKSUbuntu-2204-202307.27.0).

Připojení ke clusteru AKS

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

    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 Kubernetes JSONPath.

    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
    

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 Kubernetes JSONPath.

    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
    

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

Pokud chcete urychlit proces aktualizace image uzlu, můžete je aktualizovat pomocí přizpůsobitelné hodnoty zátěže uzlu. AKS ve výchozím nastavení ke konfiguraci upgradů používá jeden další uzel.

  1. Upgradujte obrazy uzlů s nárůstem uzlu pomocí příkazu az aks nodepool update s příznakem --max-surge ke konfiguraci počtu uzlů použitých pro 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% \
        --no-wait
    
  2. Pomocí příkazu kubectl get nodes můžete zkontrolovat stav obrazů uzlů.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. 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
    

Další kroky