Upgrade image uzlu Azure Kubernetes Service (AKS)

AKS podporuje upgrade imagí na uzlu, abyste byli aktuální s nejnovějšími aktualizacemi operačního systému a modulu runtime. AKS pravidelně poskytuje nové image s nejnovějšími aktualizacemi, takže je vhodné pravidelně upgradovat image uzlu pro nejnovější funkce AKS. Image uzlů Linuxu se aktualizují každý týden a image uzlů Windows se aktualizují měsíčně. I když budou zákazníci upozorněni na upgrady imagí prostřednictvím poznámek k verzi AKS, může trvat až týden, než se aktualizace nasadí ve všech oblastech. V tomto článku se dozvíte, jak upgradovat image uzlů clusteru AKS a jak aktualizovat image fondu uzlů bez upgradu verze Kubernetes.

Další informace o nejnovějších imagích poskytovaných AKS najdete v poznámkách k verzi AKS.

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čů.

Zkontrolujte, jestli je fond uzlů na nejnovější imagi uzlu.

Nejnovější verzi image uzlu dostupnou pro váš fond uzlů můžete zobrazit pomocí následujícího příkazu:

az aks nodepool get-upgrades \
    --nodepool-name mynodepool \
    --cluster-name myAKSCluster \
    --resource-group myResourceGroup

Ve výstupu vidíte následující latestNodeImageVersion příklad:

{
  "id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/nodepool1/upgradeProfiles/default",
  "kubernetesVersion": "1.17.11",
  "latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
  "name": "default",
  "osType": "Linux",
  "resourceGroup": "myResourceGroup",
  "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
  "upgrades": null
}

Takže pro nodepool1 nejnovější dostupnou image uzlu je AKSUbuntu-1604-2020.10.28. Teď ji můžete porovnat s aktuální verzí image uzlu, kterou používá fond uzlů spuštěním:

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --query nodeImageVersion

Příklad výstupu:

"AKSUbuntu-1604-2020.10.08"

V tomto příkladu byste tedy mohli upgradovat z aktuální AKSUbuntu-1604-2020.10.08 verze image na nejnovější verzi AKSUbuntu-1604-2020.10.28.

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

Upgrade image uzlu se provádí pomocí az aks upgrade. Pokud chcete upgradovat image uzlu, použijte následující příkaz:

az aks upgrade \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-image-only

Během upgradu zkontrolujte stav imagí uzlů pomocí následujícího kubectl příkazu a získejte popisky a vyfiltrujte aktuální informace o imagi uzlu:

Poznámka

Tento příkaz se může mírně lišit v závislosti na použitém prostředí. Další informace o prostředích Windows/PowerShell najdete v dokumentaci ke službě Kubernetes JSONPath .

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Po dokončení az aks show upgradu získáte aktualizované podrobnosti fondu uzlů. Aktuální image uzlu se zobrazí ve vlastnosti nodeImageVersion.

az aks show \
    --resource-group myResourceGroup \
    --name myAKSCluster

Upgrade konkrétního fondu uzlů

Upgrade image ve fondu uzlů je podobný upgradu image v clusteru.

Pokud chcete aktualizovat image operačního systému fondu uzlů bez provedení upgradu clusteru Kubernetes, použijte v následujícím příkladu parametr --node-image-only:

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --node-image-only

Během upgradu zkontrolujte stav imagí uzlů pomocí následujícího kubectl příkazu a získejte popisky a vyfiltrujte aktuální informace o imagi uzlu:

Poznámka

Tento příkaz se může mírně lišit v závislosti na použitém prostředí. Další informace o prostředích Windows/PowerShell najdete v dokumentaci ke službě Kubernetes JSONPath .

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Po dokončení az aks nodepool show upgradu získáte aktualizované podrobnosti fondu uzlů. Aktuální image uzlu se zobrazí ve vlastnosti nodeImageVersion.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

Upgrade imagí uzlů s využitím nárůstu počtu uzlů

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

Pokud chcete zvýšit rychlost upgradů, použijte --max-surge hodnotu ke konfiguraci počtu uzlů, které se mají použít pro upgrady, aby se dokončily rychleji. Další informace o kompromisech různých --max-surge nastavení najdete v tématu Přizpůsobení upgradu nárůstu počtu uzlů.

Následující příkaz nastaví maximální hodnotu nárůstu výkonu při upgradu image uzlu:

az aks nodepool upgrade \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool \
    --max-surge 33% \
    --node-image-only \
    --no-wait

Během upgradu zkontrolujte stav imagí uzlů pomocí následujícího kubectl příkazu a získejte popisky a vyfiltrujte aktuální informace o imagi uzlu:

kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'

Slouží az aks nodepool show k získání aktualizovaných podrobností fondu uzlů. Aktuální image uzlu se zobrazí ve vlastnosti nodeImageVersion.

az aks nodepool show \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name mynodepool

Další kroky