Oktatóanyag: A Kubernetes frissítése az Azure Kubernetes Service (AKS) szolgáltatásban
Az alkalmazás- és fürtéletciklus részeként érdemes lehet a Kubernetes legújabb elérhető verziójára frissíteni. A Azure Kubernetes Service -fürtöt az Azure CLI, a Azure PowerShell vagy a Azure Portal használatával frissítheti.
Ebben az oktatóanyagban, a hétből hét részből megtudhatja, hogyan:
- Az aktuális és elérhető Kubernetes-verziók azonosítása.
- Frissítse a Kubernetes-csomópontokat.
- Sikeres frissítés ellenőrzése.
Előkészületek
A korábbi oktatóanyagokban egy alkalmazást egy tárolórendszerképbe csomagoltak, és ezt a tárolórendszerképet feltöltötték Azure Container Registry (ACR) szolgáltatásba. Létrehozott egy AKS-fürtöt is. Az alkalmazást ezután üzembe helyezték az AKS-fürtön. Ha még nem tette meg ezeket a lépéseket, és követni szeretné a lépéseket, kezdje az 1. oktatóanyaggal: Alkalmazás előkészítése az AKS-hez.
- Ha Azure CLI-t használ, ehhez az oktatóanyaghoz az Azure CLI 2.34.1-es vagy újabb verzióját kell futtatnia. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése. - Ha Azure PowerShell használ, ehhez az oktatóanyaghoz Azure PowerShell 5.9.0-s vagy újabb verzióját kell futtatnia. A verzió azonosításához futtassa a következőt:
Get-InstalledModule -Name Az
. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure PowerShell telepítését ismertető cikket.
Az elérhető fürtverziók lekérése
Fürt frissítése előtt az az aks get-upgrades paranccsal ellenőrizze, hogy mely Kubernetes-kiadások érhetők el.
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster
A következő példakimenetben az aktuális verzió az 1.18.10, az elérhető verziók pedig a frissítések alatt láthatók.
{
"agentPoolProfiles": null,
"controlPlaneProfile": {
"kubernetesVersion": "1.18.10",
...
"upgrades": [
{
"isPreview": null,
"kubernetesVersion": "1.19.1"
},
{
"isPreview": null,
"kubernetesVersion": "1.19.3"
}
]
},
...
}
Fürt frissítése
Az AKS-csomópontok gondosan vannak elkötve és kiürítve, hogy minimálisra csökkentsék a futó alkalmazások esetleges megszakadását. A folyamat során a következő lépések lesznek végrehajtva:
- A Kubernetes-ütemező megakadályozza, hogy további podok legyenek ütemezve egy frissítendő csomóponton.
- A csomóponton futó podok a fürt más csomópontjaira vannak ütemezve.
- Létrejön egy új csomópont, amely a legújabb Kubernetes-összetevőket futtatja.
- Amikor az új csomópont készen áll és csatlakozik a fürthöz, a Kubernetes-ütemező megkezdi a podok futtatását az új csomóponton.
- A régi csomópont törlődik, és a fürt következő csomópontja megkezdi a kordon- és ürítési folyamatot.
Megjegyzés
Ha nincs megadva javítás, a fürt automatikusan frissül a megadott alverzió legújabb ga-javítására. A beállítás például --kubernetes-version
azt eredményezi, hogy 1.21
a fürt a következőre 1.21.9
frissül: .
Ha alias-alverzióval frissít, csak egy magasabb alverzió támogatott. Például a verzióról 1.20.x
1.20
való frissítés nem indítja el a legújabb általánosan elérhető 1.20
javításra való frissítést, de a 1.21
verzióra való frissítés a legújabb általánosan 1.21
elérhető javításra való frissítést váltja ki.
Az AKS-fürt frissítéséhez használja az az aks upgrade parancsot.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version KUBERNETES_VERSION
Megjegyzés
Egyszerre csak egy alverzió frissíthető. Frissíthet például 1.14.x-ről1.15.x-re, de közvetlenül nem frissíthet 1.14.x-ről1.16.x-re . Az 1.14.x-ről1.16.x-re való frissítéshez először 1.14.x-ről1.15.x-re kell frissítenie, majd újabb frissítést kell végrehajtania 1.15.x-ről1.16.x-re.
Az alábbi példakimenet az 1.19.1-re való frissítés eredményét mutatja be. Figyelje meg, hogy a kubernetesVersion most az 1.19.1-et jelenti.
{
"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"
}
A frissítési események megtekintése
A fürt frissítésekor a következő Kubernetes-események fordulhatnak elő a csomópontokon:
- Túlfeszültség: Túlfeszültség-csomópont létrehozása.
- Kiürítés: A podok kiürítése folyamatban van a csomópontból. A kiürítés befejezéséhez minden pod 5 perces időtúllépéssel rendelkezik.
- Frissítés: A csomópont frissítése sikeres vagy sikertelen volt.
- Törlés: Túlfeszültség-csomópont törlése.
A használatával kubectl get events
eseményeket jeleníthet meg az alapértelmezett névterekben frissítés futtatásakor.
kubectl get events
Az alábbi példakimenet a frissítés során felsorolt fenti események némelyikét mutatja be.
...
default 2m1s Normal Drain node/aks-nodepool1-96663640-vmss000001 Draining node: [aks-nodepool1-96663640-vmss000001]
...
default 9m22s Normal Surge node/aks-nodepool1-96663640-vmss000002 Created a surge node [aks-nodepool1-96663640-vmss000002 nodepool1] for agentpool %!s(MISSING)
...
Frissítés ellenőrzése
Ellenőrizze, hogy a frissítés sikeres volt-e az az aks show paranccsal.
az aks show --resource-group myResourceGroup --name myAKSCluster --output table
Az alábbi példakimenet a KubernetesVersion 1.19.1-et futtató AKS-fürtöt mutatja be:
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
------------ ---------- --------------- ------------------- ------------------------ ------------------- ----------------------------------------------------------------
myAKSCluster eastus myResourceGroup 1.19.1 1.19.1 Succeeded myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io
A fürt törlése
Mivel ez az oktatóanyag a sorozat utolsó része, érdemes lehet törölnie az AKS-fürtöt. A Kubernetes-csomópontok Azure-beli virtuális gépeken futnak, és továbbra is díjat számítanak fel, még akkor is, ha nem használja a fürtöt.
Az az group delete paranccsal eltávolíthatja az erőforráscsoportot, a tárolószolgáltatást és az összes kapcsolódó erőforrást.
az group delete --name myResourceGroup --yes --no-wait
Megjegyzés
A fürt törlésekor az AKS-fürt által használt Azure Active Directory-szolgáltatásnév (AAD) nem lesz eltávolítva. A szolgáltatásnév eltávolításának lépéseiért lásd az AKS-szolgáltatásnevekre vonatkozó szempontokat és a szolgáltatásnevek törlését ismertető cikket. Ha felügyelt identitást használt, az identitást a platform kezeli, és nincs szükség titkos kódok kiépítésére vagy elforgatására.
Következő lépések
Ebben az oktatóanyagban frissítettük a Kubernetest egy AKS-fürtben. Megtanulta végrehajtani az alábbi műveleteket:
- Az aktuális és elérhető Kubernetes-verziók azonosítása.
- Frissítse a Kubernetes-csomópontokat.
- Sikeres frissítés ellenőrzése.
Az AKS-ről további információt az AKS áttekintése című témakörben talál. A teljes megoldások AKS-sel való létrehozásával kapcsolatos útmutatásért lásd: AKS-megoldásokkal kapcsolatos útmutató.