Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Előfordulhat, hogy módosítani szeretné a virtuális gépek (virtuális gépek) méretét, hogy egyre több üzembe helyezést fogadjon el, vagy nagyobb számítási feladatot futtasson. Az AKS-példányok közvetlen átméretezése nem támogatott , ha virtuálisgép-méretezési csoportokat használ az AKS-ben az AKS támogatási szabályzataiban leírtak szerint:
Az AKS-ügynökcsomópontok normál Azure IaaS-erőforrásként jelennek meg az Azure Portalon. Ezek a virtuális gépek azonban egy egyéni Azure-erőforráscsoportba vannak üzembe helyezve (általában MC_*előtaggal). Az IaaS API-k vagy -erőforrások használatával nem végezhet közvetlen testreszabásokat ezeken a csomópontokon. Bármilyen egyéni módosítás, amelyet nem az AKS API-val hajtanak végre, nem marad meg frissítés, méretezés, változtatás vagy újraindítás során.
Ebben a cikkben megismerheti a csomópontkészlet átméretezésének ajánlott módszerét egy új csomópontkészlet kívánt termékváltozat-mérettel történő létrehozásával, a meglévő csomópontok kordonozásával és ürítésével, majd a meglévő csomópontkészlet eltávolításával.
Fontos
Ez a módszer az AKS fürtökre vonatkozik, amelyek Virtual Machine Scale Sets-en alapulnak. Virtuális gépeken alapuló csomópontkészletek használata esetén egyetlen Azure CLI-paranccsal egyszerűen frissítheti a virtuálisgép-méreteket egy meglévő csomópontkészletben, és több virtuálisgép-mérettel rendelkezhet ugyanabban a csomópontkészletben. További információkért tekintse meg a Virtuális gépek csomópontkészletek dokumentációját.
Új csomópontkészlet létrehozása a kívánt termékváltozattal
Feljegyzés
Minden AKS-fürtnek legalább egy, legalább egy csomóponttal rendelkező rendszercsomópontkészletet kell tartalmaznia. Ebben a példában egy --modeSystem alkalmazásával adunk hozzá egy rendszercsomópontkészletet, hogy kicseréljük az átméretezni kívánt rendszercsomópontkészletet. A csomópontkészletek üzemmódját bármikor frissítheti . A felhasználói csomópontkészletet úgy is hozzáadhatja, hogy a következőt állítja be: --modeUser.
Az átméretezés során ügyeljen arra, hogy figyelembe vegye az összes számítási feladatra vonatkozó követelményt, például a rendelkezésre állási zónákat, és ennek megfelelően konfigurálja a VMSS-csomópontkészletet. Előfordulhat, hogy az igényeinek leginkább megfelelő módon módosítania kell a következő parancsot. A konfigurációs beállítások teljes listáját a az aks nodepool add referenciaoldalon találja.
Hozzon létre egy új csomópontkészletet a
az aks nodepool addparanccsal. Ebben a példában létrehozunk egy új csomópontkészletet,mynodepoolhárom csomóponttal és aStandard_DS3_v2virtuálisgép-termékváltozattal egy meglévő csomópontkészlet lecseréléséhez,nodepool1amely rendelkezik aStandard_DS2_v2virtuálisgép-termékváltozattal.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 3 \ --node-vm-size Standard_DS3_v2 \ --mode System \ --no-waitAz új csomópontkészlet létrehozása néhány percet vesz igénybe.
Kérje le az új csomópontkészlet állapotát a
kubectl get nodesparancs használatával.kubectl get nodesA kimenetnek az alábbi példakimenethez kell hasonlítania, amely az új csomópontkészletet
mynodepoolés a meglévő csomópontkészletetnodepool1is megjeleníti:NAME STATUS ROLES AGE VERSION aks-mynodepool-98765432-vmss000000 Ready agent 23m v1.21.9 aks-mynodepool-98765432-vmss000001 Ready agent 23m v1.21.9 aks-mynodepool-98765432-vmss000002 Ready agent 23m v1.21.9 aks-nodepool1-12345678-vmss000000 Ready agent 10d v1.21.9 aks-nodepool1-12345678-vmss000001 Ready agent 10d v1.21.9 aks-nodepool1-12345678-vmss000002 Ready agent 10d v1.21.9
A meglévő csomópontok kordonozása
A kordonálás nem ütemezhetőként jelöli meg a megadott csomópontokat, és megakadályozza, hogy további podok legyenek hozzáadva a csomópontokhoz.
Kérje le a parancs használatával
kubectl get nodesa kordonolni kívánt csomópontok nevét.kubectl get nodesA kimenetnek a következő példakimenethez kell hasonlítania, amely a meglévő csomópontkészletben
nodepool1lévő csomópontokat jeleníti meg, amelyeket kordonolni szeretne:NAME STATUS ROLES AGE VERSION aks-nodepool1-12345678-vmss000000 Ready agent 7d21h v1.21.9 aks-nodepool1-12345678-vmss000001 Ready agent 7d21h v1.21.9 aks-nodepool1-12345678-vmss000002 Ready agent 7d21h v1.21.9A parancs használatával
kubectl cordonkordonozza a meglévő csomópontokat, és adja meg a kívánt csomópontokat egy szóközzel elválasztott listában. Például:kubectl cordon aks-nodepool1-12345678-vmss000000 aks-nodepool1-12345678-vmss000001 aks-nodepool1-12345678-vmss000002A kimenetnek a következő példakimenethez kell hasonlítania, amely azt mutatja, hogy a csomópontok kordonozottak:
node/aks-nodepool1-12345678-vmss000000 cordoned node/aks-nodepool1-12345678-vmss000001 cordoned node/aks-nodepool1-12345678-vmss000002 cordoned
A meglévő csomópontok kiürítése
Fontos
A csomópontok kiürítéséhez és a futó podok kiürítéséhez győződjön meg arról, hogy minden PodDisruptionBudgets (PDB) lehetővé teszi, hogy egyszerre legalább egy podreplika áthelyezhető legyen. Ellenkező esetben a kiürítési/kilakoltatási művelet meghiúsul. Ennek ellenőrzéséhez futtathatja kubectl get pdb -A és ellenőrizheti ALLOWED DISRUPTIONS , hogy legalább 1 vagy magasabb-e.
Csomópontok ürítésekor a rajtuk futó podok kiürítve lesznek, és újjáépülnek a többi ütemezhető csomópontokon.
Ürítse le a meglévő csomópontokat a
kubectl drainparancs és a--ignore-daemonsets--delete-emptydir-datajelzők használatával, és adja meg a kívánt csomópontokat egy szóközzel elválasztott listában. Például:Fontos
A használat
--delete-emptydir-dataszükséges az AKS által létrehozottcorednsésmetrics-serverpodok kiürítéséhez. Ha nem használja ezt a jelzőt, hibaüzenet jelenik meg. További információkért tekintse meg az emptydir dokumentációját.kubectl drain aks-nodepool1-12345678-vmss000000 aks-nodepool1-12345678-vmss000001 aks-nodepool1-12345678-vmss000002 --ignore-daemonsets --delete-emptydir-dataA lefolyóművelet befejezése után az összes podnak (a démonkészletek által vezérelt podok kivételével) az új csomópontkészleten kell futnia. Ezt a
kubectl get podsparancs használatával ellenőrizheti.kubectl get pods -o wide -A
Podok kiürítési problémáinak elhárítása
Csomópontok ürítésekor a következő hibaüzenet jelenhet meg:
Error when evicting pods/[podname] -n [namespace] (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
Alapértelmezés szerint a fürt AKS által kezelt pod megszakítási költségvetésekkel rendelkezik (például coredns-pdb vagy konnectivity-agent) MinAvailable értékkel 1. Ha például két coredns pod fut, egyszerre csak egy zavarható meg. Miközben az egyik újraalkotás alatt van és nem érhető el, a másik coredns podot nem lehet kiüríteni a pod megszakítási költségvetés miatt. Ez a probléma megoldódik, miután az első coredns pod ütemezve és futtatva van, lehetővé téve a második pod megfelelő kilakoltatását és újbóli létrehozását.
Tipp.
Érdemes egyenként üríteni a csomópontokat a zökkenőmentesebb kilakoltatás érdekében, és elkerülni a szabályozást. További információk:
A meglévő csomópontkészlet eltávolítása
Fontos
Csomópontkészlet törlésekor az AKS nem végez kordont és ürítési műveletet. A törölni tervezett csomópontcsoportban jelenleg futó podok átütemezésének minimalizálása érdekében, törlés előtt kordonozzon le és ürítsen ki minden csomópontot a csomópontcsoportban.
Törölje az eredeti csomópontkészletet a
az aks nodepool deleteparanccsal.az aks nodepool delete \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name nodepool1Ellenőrizze, hogy az AKS-fürt csak az új csomópontkészlettel rendelkezik-e, és hogy az alkalmazások és podok megfelelően futnak-e a
kubectl get nodesparancs használatával.kubectl get nodesA kimenetnek a következő példakimenethez kell hasonlítania, csak az új csomópontkészletet
mynodepooljeleníti meg:NAME STATUS ROLES AGE VERSION aks-mynodepool-98765432-vmss000000 Ready agent 63m v1.21.9 aks-mynodepool-98765432-vmss000001 Ready agent 63m v1.21.9 aks-mynodepool-98765432-vmss000002 Ready agent 63m v1.21.9
Következő lépések
A csomópontkészlet kordonozással és vízelvezetéssel történő átméretezése után további információ a több csomópontkészlet használatáról.