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ů je možné provádět automaticky a naplánovat 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ů
Pomocí příkazu zkontrolujte dostupné upgrady imagí az aks nodepool get-upgrades
uzlů.
az aks nodepool get-upgrades \
--nodepool-name mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
Výstup ukazuje latestNodeImageVersion
následující příklad:
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/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
}
Příklad výstupu latestNodeImageVersion
ukazuje AKSUbuntu-1604-2020.10.28
jako .
Pomocí příkazu porovnejte nejnovější verzi s aktuální verzí az aks nodepool show
image uzlu.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
Výstup by měl vypadat podobně jako v následujícím příkladu:
"AKSUbuntu-1604-2020.10.08"
V tomto příkladu je k dispozici upgrade verze image uzlu, která je z verze AKSUbuntu-1604-2020.10.08
na verzi AKSUbuntu-1604-2020.10.28
.
Upgrade všech imagí uzlů ve všech fondech uzlů
Upgradujte image uzlu pomocí az aks upgrade
příkazu s příznakem --node-image-only
.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-image-only
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}'
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 myResourceGroup \
--name myAKSCluster
Upgrade konkrétního fondu uzlů
Pokud chcete aktualizovat image operačního systému fondu uzlů bez upgradu clusteru Kubernetes, použijte az aks nodepool upgrade
příkaz s příznakem --node-image-only
.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-image-only
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}'
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 myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
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.
Pokud chcete zvýšit rychlost upgradů, pomocí az aks nodepool update
příkazu s --max-surge
příznakem nakonfigurujte počet uzlů použitých pro upgrady. 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 myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--max-surge 33% \
--no-wait
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}'
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
- Informace o nejnovějších imagích uzlů najdete v poznámkách k verzi AKS.
- Zjistěte, jak upgradovat verzi Kubernetes pomocí upgradu clusteru AKS.
- Automatické použití upgradů clusteru a fondu uzlů pomocí GitHub Actions
- Přečtěte si další informace o více fondech uzlů pomocí možnosti Vytvořit více fondů uzlů.
- Podrobné informace o osvědčených postupech upgradu a dalších aspektech najdete v pokynech k opravám a upgradu AKS.
Azure Kubernetes Service
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro