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.
VMSS-csomópontkészlet helyben történő átméretezése (előzetes verzió)
Fontos
Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióihoz részleges támogatást nyújt az ügyfélszolgálat a tőle telhető legjobb módon. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:
Most már átméretezheti egy meglévő VMSS-alapú csomópontkészlet virtuálisgép-méretét (termékváltozatát) egyetlen parancs az aks nodepool update --node-vm-size <new-size>használatával. A frissítés aktiválásakor az AKS-erőforrás-szolgáltató a következő módon hajtja végre a működés közbeni frissítést:
- Új csomópontok bővítése a célként megadott virtuálisgép-mérettel.
- A régi csomópontok kordonozása és ürítése.
- A régi csomópontok törlése.
Ezzel elkerülheti a jelen cikk többi részében ismertetett manuális létrehozási/kordon-/ürítési/törlési munkafolyamatot.
Hogyan működik az átméretezés bevezetése
Az átméretezés bevezetése ugyanazt a gördülő frissítési mechanizmust használja, mint a csomópont-lemezképfrissítés és a Kubernetes-verziófrissítés, ezért figyelembe veszi a csomópontkészleten már konfigurált alábbi, frissítéssel kapcsolatos beállításokat. Az átméretezés különösen a következőket veszi figyelembe:
-
Maximális többlet (
--max-surge): Azt szabályozza, hogy az üzembe helyezés során hány, a célként megadott virtuálisgép-mérettel rendelkező további csomópont legyen hozzáadva. A magasabb érték gyorsabban átméretezi a készletet, de több számítási és IP-kvótát használ fel; az alacsonyabb érték lassabb, de kevésbé zavaró. Az AKS alapértelmezett beállítása a1, az éles csomópontkészletekhez pedig a33%ajánlott. -
Csomópont kiürítési időkorlátja (
--drain-timeout): Mennyi ideig vár az AKS a podok kilakoltatására minden egyes régi csomóponton, mielőtt kényszerítetten törli a csomópontot. Az alapértelmezett érték 30 perc. Használja ezt a megfelelő PodDisruptionBudget beállításokkal együtt, hogy a munkaterhelések biztonságosan kiürülhessenek. -
Csomópontok áztatási időtartama (
--node-soak-duration): Mennyi ideig várakozik az AKS, miután egy új csomópont készen áll, mielőtt továbblépne a következő kötegre. A bevezetés folytatása előtt hasznos, ha lehetővé teszi a számítási feladatok stabilizálását az új virtuálisgép-méreten.
Mivel az átméretezés ugyanazt a frissítési folyamatot használja, ugyanazok az előfeltételek érvényesek: győződjön meg arról, hogy az előfizetés elegendő cserekapacitással rendelkezik a célként megadott virtuálisgép-mérethez, valamint hogy vannak elérhető alhálózati IP-címek a többletcsomópontok számára, és hogy a PodDisruptionBudgetek lehetővé tegyék egyszerre legalább egy replika eltávolítását, ellenkező esetben az átméretezés a kiürítés során meghiúsulhat. Az átfogó ajánlásokért lásd: Az AKS-csomópontkészlet frissítésének bevált gyakorlatai.
Prerequisites
- AKS API-verzió
2026-01-02-previewvagy újabb. - Az aks-preview Azure CLI bővítmény legújabb verziója.
A csomópontkészlet átméretezése
az aks nodepool update A paraméterrel rendelkező --node-vm-size paranccsal módosíthatja egy meglévő VMSS-alapú csomópontkészlet virtuálisgép-méretét:
az aks nodepool update \
--resource-group MyResourceGroup \
--cluster-name MyManagedCluster \
--name nodepool1 \
--node-vm-size Standard_D4s_v3
Érvényesítés és nem támogatott kombinációk
Az AKS-erőforrás-szolgáltató ellenőrzi az átméretezési kérelmet, és letiltja a nem kompatibilis virtuálisgép-méret módosításait. A következő módosítások nem támogatottak a helyszíni VMSS-átméretezés részeként:
- A lemezvezérlő típusának módosítása (például SCSI-ről NVMe-re).
- A CPU-architektúra módosítása (például x64-ről ARM64-re).
- A bizalmas számítástechnikai támogatás módosítása (például az SNP engedélyezése vagy letiltása).
- A hipervizor generációjának módosítása (például V1-ről V2-re).
- Az átméretezés kubernetes-verziófrissítéssel vagy csomópontszámváltozással kombinálva ugyanabban a műveletben.
Ha a cél virtuális gép mérete a fenti módosítások bármelyikét igényli, használja inkább a következő szakaszokban ismertetett manuális kordon- és leeresztő munkafolyamatot.
Megjegyzés
A helyben történő átméretezéshez túlfeszültség-kapacitásra van szükség ahhoz, hogy új csomópontokat építsünk ki a cél virtuális gép méretével, mielőtt kiürítenénk a régieket. Ha a csomópontkészlet --max-surge 0 használatára van konfigurálva (vagyis a --max-unavailable van érvényben), az átméretezési kérelmet a rendszer 400 Bad Request hibával elutasítja. A folytatáshoz átméretezéskor állítsa a(z) --max-surge értékét legalább 1 értékre.
az aks nodepool update \
--resource-group MyResourceGroup \
--cluster-name MyManagedCluster \
--name nodepool1 \
--node-vm-size Standard_D4s_v3 \
--max-surge 33%
és igény szerint állítsa vissza az eredeti --max-surge és --max-unavailable az értékeket az átméretezés befejezése után.
Új csomópontkészlet létrehozása a kívánt termékváltozattal
Megjegyzé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 sikeres kiürítéséhez és a futó podok kilakoltatásához győződjön meg arról, hogy minden PodDisruptionBudget (PDB) lehetővé teszi egyszerre legalább egy podreplika áthelyezését. 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(z)
--delete-emptydir-datahasználata szü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 hajt végre lezárást és kiürítést. 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
Miután kordonozással és kiürítéssel átméretezte a csomópontkészletet, tudjon meg többet a több csomópontkészlet használatáról.