Megosztás a következőn keresztül:


Alkalmazásskálázási beállítások az Azure Kubernetes Service-ben (AKS)

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.

A Kubernetes vízszintes pod automatikus skálázása

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.

Kubernetes-fürt automatikus skálázása

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.

A Kubernetes kipukkanása az ACI-hez

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:

Az alapvető Kubernetes- és AKS-fogalmakkal kapcsolatos további információkért tekintse meg az alábbi cikkeket: