Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V rámci životního cyklu aplikace a clusteru můžete chtít upgradovat na nejnovější dostupnou verzi Kubernetes. Cluster Azure Kubernetes Service (AKS) můžete upgradovat pomocí Azure CLI, Azure PowerShellu nebo webu Azure Portal.
V tomto kurzu upgradujete cluster AKS. Naučíte se, jak:
- Identifikujte aktuální a dostupné verze Kubernetes.
- Upgradujte uzly Kubernetes.
- Ověřte úspěšný upgrade.
Než začnete
V předchozích kurzech jste zabalili aplikaci do image kontejneru a nahráli image kontejneru do služby Azure Container Registry (ACR). Také jste vytvořili cluster AKS a nasadili do něj aplikaci. Pokud jste tyto kroky ještě nedokončili a chcete postupovat podle pokynů, začněte kurzem 1 – Příprava aplikace pro AKS.
Pokud používáte Azure CLI, tento kurz vyžaduje Azure CLI verze 2.34.1 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
Pokud používáte Azure PowerShell, tento kurz vyžaduje Azure PowerShell verze 5.9.0 nebo novější. Verzi zjistíte spuštěním příkazu Get-InstalledModule -Name Az. Pokud potřebujete provést instalaci nebo upgrade, přečtěte si téma Instalace Azure PowerShellu.
Získání dostupných verzí clusteru
Před upgradem pomocí příkazu zkontrolujte, které verze Kubernetes jsou pro váš cluster
az aks get-upgradesk dispozici.az aks get-upgrades --resource-group myResourceGroup --name myAKSClusterNásledující příklad výstupu ukazuje aktuální verzi jako 1.28.9 a uvádí dostupné verze v části
upgrades:{ "agentPoolProfiles": null, "controlPlaneProfile": { "kubernetesVersion": "1.28.9", ... "upgrades": [ { "isPreview": null, "kubernetesVersion": "1.29.4" }, { "isPreview": null, "kubernetesVersion": "1.29.2" } ] }, ... }
Aktualizujte cluster AKS
Uzly AKS jsou pečlivě prováděny a vyprázdněny, aby se minimalizovaly případné přerušení spuštěných aplikací. Během tohoto procesu provede AKS následující kroky:
- Přidá do clusteru, na kterém běží zadaná verze Kubernetes, nový uzel vyrovnávací paměti (nebo libovolný počet uzlů nakonfigurovaných v maximálním nárůstu).
- Cordonování a vyprázdnění jednoho ze starých uzlů má minimalizovat přerušení spuštěných aplikací. Pokud používáte maximální navýšení, cordonuje a odvodňuje stejný počet uzlů najednou, kolik je uvedeno jako uzly vyrovnávací paměti.
- Když je starý uzel plně vyprázdněný, je znovu nainstalován, aby získal novou verzi, a stane se vyrovnávacím uzlem pro následující uzel, který se má upgradovat.
- Tento proces se opakuje, dokud nebudou upgradovány všechny uzly v clusteru.
- Na konci procesu se odstraní poslední uzel vyrovnávací paměti a zachová se počet stávajících uzlů agentů a rovnováha zón.
Poznámka:
Pokud není zadán žádný patch, cluster se automaticky upgraduje na nejnovější dostupnou verzi opravy zadané menší verze, která je v plné dostupnosti (GA). Například nastavení --kubernetes-version na 1.28 má za následek upgrade clustru na 1.28.9.
Další informace najdete v tématu Podporované upgrady podverze Kubernetes v AKS.
Cluster můžete upgradovat ručně nebo nakonfigurovat automatické upgrady clusteru. Doporučujeme nakonfigurovat automatické upgrady clusteru, abyste měli jistotu, že váš cluster vždy používá nejnovější verzi Kubernetes.
Ruční upgrade clusteru
Upgradujte cluster pomocí
az aks upgradepříkazu.az aks upgrade \ --resource-group myResourceGroup \ --name myAKSCluster \ --kubernetes-version KUBERNETES_VERSIONZobrazí se výzva k potvrzení provedení upgradu a k potvrzení, že chcete upgradovat řídicí rovinu a všechny pooly uzlů na vybranou verzi Kubernetes.
Are you sure you want to perform this operation? (y/N): y Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.29.2. Continue? (y/N): yPoznámka:
Najednou můžete upgradovat pouze jednu dílčí verzi. Můžete například upgradovat z verze 1.14.x na verzi 1.15.x, ale nemůžete upgradovat přímo z verze 1.14.x na verzi 1.16.x . Pokud chcete upgradovat z verze 1.14.x na 1.16.x, musíte nejprve upgradovat z verze 1.14.x na 1.15.x a pak provést další upgrade z verze 1.15.x na 1.16.x.
Následující příklad výstupu ukazuje výsledek upgradu na verzi 1.29.2. Všimněte si, že
kubernetesVersionse teď zobrazuje verze 1.29.2:{ ... "agentPoolProfiles": [ { ... "count": 3, "currentOrchestratorVersion": "1.29.2", "maxPods": 110, "name": "nodepool1", "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202405.27.0", "orchestratorVersion": "1.29.2", "osType": "Linux", "upgradeSettings": { "drainTimeoutInMinutes": null, "maxSurge": "10%", "nodeSoakDurationInMinutes": null, "undrainableNodeBehavior": null }, "vmSize": "Standard_DS2_v2", ... } ], ... "currentKubernetesVersion": "1.29.2", "dnsPrefix": "myAKSClust-myResourceGroup-19da35", "enableRbac": false, "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.westus2.azmk8s.io", "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster", "kubernetesVersion": "1.29.2", "location": "westus2", "name": "myAKSCluster", "type": "Microsoft.ContainerService/ManagedClusters" ... }
Konfigurace automatických upgradů clusteru
Nastavte v clusteru kanál automatického upgradu pomocí
az aks updatepříkazu s parametrem nastaveným--auto-upgrade-channelnapatch.az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel patch
Další informace najdete v tématu Automatické upgrade clusteru Azure Kubernetes Service (AKS).
Upgradujte obrazy uzlů AKS
AKS pravidelně poskytuje nové image uzlů. Image uzlů Linuxu se aktualizují každý týden a image uzlů Windows se aktualizují každý měsíc. Doporučujeme pravidelně upgradovat uzlové obrazy, aby bylo možné využívat nejnovější funkce AKS a aktualizace zabezpečení. Další informace najdete v tématu Upgrade imagí uzlů ve službě Azure Kubernetes Service (AKS). Pokud chcete nakonfigurovat automatické upgrady obrazů uzlů, viz téma Automatické upgrady obrazů operačního systému uzlů clusteru Azure Kubernetes Service (AKS).
Zobrazit události upgradu
Poznámka:
Při upgradu clusteru můžou na uzlech nastat následující události Kubernetes:
- Surge: Vytvořte uzel Surge.
- Vyprázdnění: Vyřazení podů z uzlu Každý pod má 5minutový časový limit pro dokončení vyřazení.
- Aktualizace: Aktualizace uzlu byla úspěšná nebo selhala.
- Odstranit: Smazat uzel.
Události upgradu ve výchozích oborech názvů zobrazíte pomocí příkazu
kubectl get events.kubectl get events --field-selector source=upgraderNásledující příklad výstupu ukazuje některé z výše uvedených událostí během upgradu:
LAST SEEN TYPE REASON OBJECT MESSAGE ... 5m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 5m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Deleting node aks-nodepool1-96663640-vmss000000 from API server 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully reimaged node: aks-nodepool1-96663640-vmss000000 4m Normal Upgrade node/aks-nodepool1-96663640-vmss000000 Successfully upgraded node: aks-nodepool1-96663640-vmss000000 4m Normal Drain node/aks-nodepool1-96663640-vmss000000 Draining node: aks-nodepool1-96663640-vmss000000 ...
Ověření upgradu
Pomocí příkazu ověřte, že upgrade proběhl úspěšně
az aks show.az aks show --resource-group myResourceGroup --name myAKSCluster --output tableNásledující příklad výstupu ukazuje, že cluster AKS spouští KubernetesVersion 1.27.3:
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------------ ------------------- ---------------------------------------------------------------- myAKSCluster westus2 myResourceGroup 1.29.2 1.29.2 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.westus2.azmk8s.io
Odstranění clusteru
Vzhledem k tomu, že tento kurz je poslední částí série, možná budete chtít odstranit cluster AKS, abyste se vyhnuli poplatkům za Azure.
Pomocí příkazu
az group deleteodeberte skupinu prostředků, službu kontejneru a všechny související prostředky.az group delete --name myResourceGroup --yes --no-wait
Poznámka:
Při odstranění clusteru není odebrán aplikační objekt Microsoft Entra používaný clusterem AKS. Pokud chcete zjistit, jak odebrat službu AKS, podívejte se na aspekty služby AKS a její odstranění. Pokud jste použili spravovanou identitu, tato identita je spravována platformou a nevyžaduje, abyste zajišťovali nebo prováděli rotaci tajných kódů.
Další kroky
V tomto kurzu jste upgradovali Kubernetes v clusteru AKS. Naučili jste se:
- Identifikujte aktuální a dostupné verze Kubernetes.
- Upgradujte uzly Kubernetes.
- Ověřte úspěšný upgrade.
Další informace o AKS najdete v přehledu AKS. Pokyny k vytváření úplných řešení pomocí AKS najdete v doprovodných materiálech k řešení AKS.
Azure Kubernetes Service