Kurz: Upgrade Kubernetes ve službě Azure Kubernetes Service (AKS)
V rámci životního cyklu aplikace a clusteru možná budete chtít provést upgrade na nejnovější dostupnou verzi Kubernetes a využívat nové funkce. Cluster Azure Kubernetes Service (AKS) je možné upgradovat pomocí Azure CLI.
V tomto kurzu, který je sedmou částí sedmidílné série, se upgraduje cluster Kubernetes. Získáte informace o těchto tématech:
- Identifikace aktuální verze a dostupných verzí Kubernetes
- Upgrade uzlů Kubernetes
- Ověření úspěšného upgradu
Než začnete
V předchozích kurzech byla aplikace zabalena do image kontejneru. Tato image se nahrála do Azure Container Registry a vytvořili jste cluster AKS. Aplikace se pak nasadila do clusteru AKS. Pokud jste tyto kroky ještě neudělali a chcete postupovat s námi, začněte kurzem 1 – Vytváření imagí kontejneru.
Tento kurz vyžaduje použití Azure CLI verze 2.0.53 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.
Získání dostupných verzí clusteru
Před upgradem clusteru pomocí příkazu az aks get-upgrades zkontrolujte, které vydané verze Kubernetes jsou pro upgrade k dispozici:
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
V následujícím příkladu je aktuální verze 1.18.10 a dostupné verze se zobrazují v části upgrady.
{
"agentPoolProfiles": null,
"controlPlaneProfile": {
"kubernetesVersion": "1.18.10",
...
"upgrades": [
{
"isPreview": null,
"kubernetesVersion": "1.19.1"
},
{
"isPreview": null,
"kubernetesVersion": "1.19.3"
}
]
},
...
}
Upgrade clusteru
Aby se minimalizovalo přerušení spuštěných aplikací, uzly AKS jsou pečlivě provádřené a vyprázdněné. V tomto procesu se provádí následující kroky:
- Plánovač Kubernetes zabraňuje naplánování dalších podů na uzlu, který se má upgradovat.
- Spouštění podů v uzlu je naplánováno na jiných uzlech v clusteru.
- Vytvoří se uzel, který spouští nejnovější komponenty Kubernetes.
- Když je nový uzel připravený a připojený ke clusteru, plánovač Kubernetes na něj začne spouštět pody.
- Starý uzel se odstraní a další uzel v clusteru zahájí proces cordonu a vyprázdnit.
Cluster AKS můžete upgradovat pomocí příkazu az aks upgrade.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version KUBERNETES_VERSION
Pozná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 verzi 1.16.x, nejprve upgradujte z verze 1.14.x na verzi 1.15.x a pak proveďte další upgrade z verze 1.15.x na verzi 1.16.x.
Následující zkrácený příklad výstupu ukazuje výsledek upgradu na verzi 1.19.1. Všimněte si, že kubernetesVersion teď hlásí 1.19.1:
{
"agentPoolProfiles": [
{
"count": 3,
"maxPods": 110,
"name": "nodepool1",
"osType": "Linux",
"storageProfile": "ManagedDisks",
"vmSize": "Standard_DS1_v2",
}
],
"dnsPrefix": "myAKSClust-myResourceGroup-19da35",
"enableRbac": false,
"fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io",
"id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
"kubernetesVersion": "1.19.1",
"location": "eastus",
"name": "myAKSCluster",
"type": "Microsoft.ContainerService/ManagedClusters"
}
Ověření upgradu
Následujícím způsobem ověřte úspěšné provedení upgradu pomocí příkazu az aks show:
az aks show --resource-group myResourceGroup --name myAKSCluster --output table
Následující příklad výstupu ukazuje, že cluster AKS používá KubernetesVersion 1.19.1:
Name Location ResourceGroup KubernetesVersion ProvisioningState Fqdn
------------ ---------- --------------- ------------------- ------------------- ----------------------------------------------------------------
myAKSCluster eastus myResourceGroup 1.19.1 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io
Odstranění clusteru
Vzhledem k tomu, že tento kurz je poslední částí série, možná budete chtít odstranit cluster AKS. Jelikož uzly prostředí Kubernetes běží na virtuálních počítačích v Azure, účtují se za ně poplatky, i když cluster nevyužíváte. Pomocí příkazu az group delete odeberete 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 se neodebere instanční objekt služby Azure Active Directory používaný clusterem AKS. Postup odebrání instančního objektu najdete v tématu věnovaném aspektům instančního objektu AKS a jeho odstranění. Pokud jste použili spravovanou identitu, spravuje ji platforma a nevyžaduje zřizování ani obměně tajných kódů.
Další kroky
V tomto kurzu jste upgradovali Kubernetes v clusteru AKS. Naučili jste se:
- Identifikace aktuální verze a dostupných verzí Kubernetes
- Upgrade uzlů Kubernetes
- Ověření úspěšného upgradu
Další informace o AKS najdete v tématu Přehled AKS. Pokyny k vytváření úplných řešení pomocí AKS najdete v tématu Pokyny k řešení AKS.