Upgrade imagí uzlů 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 najdete v tématu Automatické upgrade imagí 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 tématu 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).

Kontrola dostupných upgradů imagí uzlů

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

    az aks nodepool get-upgrades \
        --nodepool-name <node-pool-name> \
        --cluster-name <cluster-name> \
        --resource-group <resource-group>
    
  2. Ve výstupu vyhledejte hodnotu a poznamenejte si ji latestNodeImageVersion . Tato hodnota je nejnovější verze image uzlu dostupná pro váš fond 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 <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --query nodeImageVersion
    
  4. Pokud se nodeImageVersion hodnota liší od latestNodeImageVersionhodnoty , můžete upgradovat image uzlu.

Upgrade všech imagí uzlů ve všech fondech uzlů

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

    az aks upgrade \
        --resource-group <resource-group> \
        --name <cluster-name> \
        --node-image-only
    
  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í image uzlu se zobrazí ve vlastnosti nodeImageVersion.

    az aks show \
        --resource-group <resource-group> \
        --name <cluster-name>
    

Upgrade konkrétního fondu uzlů

  1. Aktualizujte image operačního systému fondu uzlů bez upgradu clusteru Kubernetes pomocí az aks nodepool upgrade příkazu s příznakem --node-image-only .

    az aks nodepool upgrade \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --node-image-only
    
  2. Pomocí příkazu můžete zkontrolovat stav imagí kubectl get nodes 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í image uzlu se zobrazí ve vlastnosti nodeImageVersion.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Upgrade imagí uzlů s využitím zvýšení počtu uzlů

Pokud chcete urychlit proces upgradu image uzlu, můžete image uzlů upgradovat pomocí přizpůsobitelné hodnoty nárůstu uzlu. AKS ve výchozím nastavení ke konfiguraci upgradů používá jeden další uzel.

  1. Upgradujte image uzlů s nárůstem az aks nodepool update uzlu pomocí příkazu s --max-surge příznakem, abyste nakonfigurovali počet uzlů použitých pro upgrady.

    Poznámka:

    Další informace o kompromisech různých --max-surge nastavení najdete v tématu Přizpůsobení upgradu nárůstu uzlu.

    az aks nodepool update \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name> \
        --max-surge 33% \
        --no-wait
    
  2. Pomocí příkazu můžete zkontrolovat stav imagí kubectl get nodes uzlů.

    kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
    
  3. Získejte aktualizované podrobnosti o fondu uzlů pomocí az aks nodepool show informací o aktualizovaném fondu uzlů. Aktuální image uzlu se zobrazí ve vlastnosti nodeImageVersion.

    az aks nodepool show \
        --resource-group <resource-group> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
    

Další kroky