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.
Ha alkalmazásokat futtat az Azure Kubernetes Service-ben (AKS), előfordulhat, hogy növelnie vagy csökkentenie kell a számítási erőforrások mennyiségét. A meglévő alkalmazáspéldányok számának módosításakor előfordulhat, hogy módosítania kell a mögöttes Kubernetes-csomópontok számát. Előfordulhat, hogy számos más alkalmazáspéldányt is ki kell építenie.
Ez a cikk bemutatja az AKS-alkalmazások skálázási alapfogalmait, beleértve a podok vagy csomópontok manuális skálázását, a horizontális podok automatikus skálázását, a fürt automatikus skálázását és az Azure Container Instances (ACI) integrálását.
Podok vagy csomópontok manuális méretezése
Manuálisan skálázhatja a replikákat, podokat és csomópontokat, hogy tesztelje, hogyan reagál az alkalmazás az elérhető erőforrások és állapotok változására. Az erőforrások manuális méretezése lehetővé teszi, hogy meghatározott mennyiségű erőforrást használjon a rögzített költségek fenntartásához, például a csomópontok számának fenntartásához. A manuális méretezéshez meg kell határoznia a replika vagy a csomópontok számát. A Kubernetes API ezután további podok létrehozását vagy csomópontok kiürítését ütemezi az adott replika vagy csomópontszám alapján.
Csomópontok leskálázásakor a Kubernetes API meghívja a fürtben használt számítási típushoz kapcsolódó Azure Compute API-t. Például a Virtual Machine Scale Sets-re épülő virtuálisgép-méretezési csoportok esetében az API határozza meg, hogy mely csomópontokat kell eltávolítani. Ha többet szeretne megtudni arról, hogyan vannak kiválasztva a csomópontok az eltávolításhoz leskálázás során, tekintse meg a virtuálisgép-méretezési csoportokra vonatkozó gyakori kérdéseket.
A csomópontok manuális méretezésének megkezdéséhez tekintse meg a csomópontok manuális méretezése egy AKS-fürtben című részt. A podok számának manuális skálázásához tekintse meg a kubectl scale parancsot.
A podok automatikus horizontális skálázási eszköze
A Kubernetes a podok automatikus horizontális skálázásával (HPA) figyeli az erőforrás-igényt, és automatikusan skálázza a podok számát. Alapértelmezés szerint a HPA 15 másodpercenként ellenőrzi a Metrics API-t a replikák számának szükséges változásaiért, a Metrics API pedig 60 másodpercenként kéri le az adatokat a Kubeletből. A HPA tehát 60 másodpercenként frissül. Ha módosításra van szükség, a replikák száma ennek megfelelően növekszik vagy csökken. Az HPA olyan AKS-fürtökkel működik, amelyek telepítették a Metrics Server-t a Kubernetes 1.8-as vagy újabb verziójára.
Amikor konfigurálja a HPA-t egy adott üzembe helyezéshez, meg kell határoznia a futtatható replikák minimális és maximális számát. Megadhatja azt a metrikát is, amely figyeli és alapozza a skálázási döntéseket, például a PROCESSZORhasználatot.
Az AKS-ben a podok automatikus horizontális skálázásával kapcsolatos első lépésekért tekintse meg az AKS automatikus skálázási podjait.
A skálázási események hűtése
Mivel a HPA gyakorlatilag 60 másodpercenként frissül, előfordulhat, hogy a korábbi skálázási események nem fejeződtek be sikeresen, mielőtt újabb ellenőrzést végeznek. Ez a viselkedés azt eredményezheti, hogy a HPA módosítja a replikák számát, mielőtt az előző skálázási esemény alkalmazásterhelést kapna, és az erőforrásigény ennek megfelelően módosulna.
A versenyesemények minimalizálása érdekében egy késleltetési érték van beállítva. Ez az érték határozza meg, hogy a HPA mennyi ideig várjon egy skálázási esemény után, mielőtt egy másik skálázási esemény aktiválható lenne. Ez a viselkedés lehetővé teszi az új replikaszám érvénybe lépését, és biztosítja, hogy a Metrics API tükrözze az elosztott munkaterhelést. A Kubernetes 1.12-hez hasonló vertikális felskálázási események esetében nincs késés, a leskálázási események alapértelmezett késleltetése azonban 5 perc.
Fürtök automatikus felskálázója
A podok változó igényeire való reagáláshoz a Kubernetes-fürt automatikus skálázója a csomópontkészlet kért számítási erőforrásai alapján módosítja a csomópontok számát. Alapértelmezés szerint a klaszter automatikus skálázó 10 másodpercenként ellenőrzi a Metrics API-kiszolgálót a csomópontok számában szükséges változásokért. Ha a fürt automatikus skálázója megállapítja, hogy változásra van szükség, az AKS-fürtben a csomópontok száma ennek megfelelően növekszik vagy csökken. A fürt automatikus skálázása kubernetes RBAC-kompatibilis AKS-fürtökkel működik, amelyek Kubernetes 1.10.x vagy újabb verziót futtatnak.
A klaszter automatikus skálázót általában a vízszintes pod autoskálázóval együtt használják. Amikor kombinálva vannak, a horizontális pod-autoscaler az alkalmazás igényei alapján növeli vagy csökkenti a podok számát, míg a fürt-autoscaler a csomópontok számát módosítja annak érdekében, hogy több podot futhasson.
Az AKS-ben a fürt automatikus skálázási funkciójának használatbavételéhez tekintse meg az AKS-beli fürt automatikus skálázását ismertető témakört.
Események vertikális felskálázása
Ha egy csomópont nem rendelkezik elegendő számítási erőforrással a kért pod futtatásához, a pod nem tud haladni az ütemezési folyamaton. A pod csak akkor indítható el, ha több számítási erőforrás áll rendelkezésre a csomópontkészleten belül.
Amikor a fürt automatikus skálázója észleli azokat a podokat, amelyeket a csomópontkészlet erőforrás-korlátozásai miatt nem lehet ütemezni, a csomópontkészleten belüli csomópontok száma megnő, hogy további számítási erőforrásokat biztosítson. Ha a csomópontok sikeresen üzembe lettek helyezve, és a csomópontkészleten belül használhatók, a podokat a rendszer ütemezi, hogy rajtuk fussanak.
Ha az alkalmazásnak gyorsan skáláznia kell, előfordulhat, hogy egyes podok ütemezésre váró állapotban maradnak, amíg a fürt automatikus skálázója által üzembe helyezett csomópontok közül több nem fogadja el az ütemezett podokat. A magas kipukkadási igényű alkalmazások esetében skálázhat virtuális csomópontokkal és Azure Container Instances-ekkel.
Az események méretarányosítása
A fürt automatikus skálázási szolgáltatása figyeli azoknak a csomópontoknak a podütemezési állapotát is, amelyek mostanában nem kaptak új ütemezési kéréseket. Ez a forgatókönyv azt jelzi, hogy a csomópontkészlet a szükségesnél több számítási erőforrással rendelkezik, és a csomópontok száma csökkenthető. Azok a csomópontok, amelyek 10 percig átléptek egy szükségletküszöböt, alapértelmezés szerint törlésre vannak ütemezve. Ebben az esetben a podok a csomópontkészleten belüli más csomópontokon lesznek ütemezve, és a fürt automatikus skálázása csökkenti a csomópontok számát.
Az alkalmazások némi fennakadást tapasztalhatnak, mivel a podok különböző csomópontokra vannak ütemezve, amikor a fürt automatikus skálázása csökkenti a csomópontok számát. A megszakítások minimalizálása érdekében kerülje az egyetlen podpéldányt használó alkalmazásokat.
Kubernetes eseményvezérelt automatikus skálázás (KEDA)
A Kubernetes eseményvezérelt automatikus skálázás (KEDA) egy nyílt forráskód összetevő a számítási feladatok eseményvezérelt automatikus skálázására. Dinamikusan skálázza a számítási feladatokat a fogadott események száma alapján. A KEDA kiterjeszti a Kubernetes-t egy egyéni erőforrásdefinícióval (CRD), amelyet ScaledObject-nek neveznek, hogy leírja, hogyan kell skálázni az alkalmazásokat adott forgalomra válaszul.
A KEDA-skálázás olyan esetekben hasznos, amikor a számítási feladatok nagy mennyiségű forgalmat fogadnak, vagy nagy mennyiségű adatot kezelnek. Ez eltér a vízszintes pod automatikus skálázásától, mivel a KEDA eseményvezérelt, és az események száma alapján skálázható, míg a HPA metrikaalapú az erőforrás-kihasználtság alapján (például CPU és memória).
A KEDA bővítmény AKS-ben való használatának megkezdéséhez tekintse meg a KEDA áttekintését.
Túlterhelés az Azure Container Instances (ACI) platformra
Az AKS-fürt gyors méretezéséhez integrálhatja az Azure Container Instances (ACI) szolgáltatást. A Kubernetes beépített összetevőkkel rendelkezik a replika és a csomópontok számának skálázásához. Ha azonban az alkalmazásnak gyorsan skáláznia kell, a vízszintes pod automatikus skálázása több podot ütemezhet, mint amennyit a csomópontkészlet meglévő számítási erőforrásai biztosítanak. Ha konfigurálva van, ez a forgatókönyv aktiválja a fürt automatikus skálázót, hogy több csomópontot helyezzen üzembe a csomópontkészletben, de eltarthat néhány percig, amíg ezek a csomópontok sikeresen kiépülnek, és lehetővé teszik a Kubernetes ütemező számára, hogy podokat futtasson rajtuk.
Az ACI lehetővé teszi a tárolópéldányok gyors üzembe helyezését további infrastruktúraterhelés nélkül. Amikor az AKS-hez csatlakozik, az ACI az AKS-fürt biztonságos, logikai kiterjesztése lesz. A virtuális csomópontok összetevő, amely a virtuális Kubeleten alapul, az AKS-fürtben van telepítve, amely az ACI-t virtuális Kubernetes-csomópontként jeleníti meg. A Kubernetes ezután a virtuális csomópontokon keresztül ACI-példányként futó podokat ütemezheti, nem pedig közvetlenül az AKS-fürtben lévő virtuálisgép-csomópontok podjaiként.
Az alkalmazás nem igényel módosításokat a virtuális csomópontok használatához. Az AKS és ACI üzembe helyezései skálázhatók, anélkül hogy késlekedne, mivel az önműködő skálázó új csomópontokat telepít az AKS-fürtben.
A virtuális csomópontok az AKS-fürttel azonos virtuális hálózat egy másik alhálózatában vannak üzembe helyezve. Ez a virtuális hálózati konfiguráció biztosítja az ACI és az AKS közötti forgalmat. Az AKS-fürtökhöz hasonlóan az ACI-példányok is biztonságos, logikai számítási erőforrásként vannak elkülönítve más felhasználóktól.
Következő lépések
Az alkalmazások méretezésének megkezdéséhez tekintse meg a következő erőforrásokat:
- Podok vagy csomópontok manuális méretezése
- A podok automatikus horizontális skálázásának használata
- A fürt automatikus skálázási eszközének használata
- A Kubernetes eseményvezérelt automatikus skálázási (KEDA) bővítményének használata
Az alapvető Kubernetes- és AKS-fogalmakkal kapcsolatos további információkért tekintse meg az alábbi cikkeket:
Azure Kubernetes Service