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


Függőleges pod automatikus skálázása az Azure Kubernetes Service-ben (AKS)

Ez a cikk áttekintést nyújt az Azure Kubernetes Service (AKS) vertikális pod-automatikus skálázási (VPA) használatáról, amely a Nyílt forráskód Kubernetes-verzión alapul.

Ha konfigurálva van, a VPA automatikusan beállítja az erőforrás-kérelmeket és a tárolók korlátait számítási feladatonként a korábbi használat alapján. A VPA felszabadítja a processzort és a memóriát más podok számára, és segít biztosítani az AKS-fürtök hatékony kihasználtságát. A Függőleges pod automatikus skálázása javaslatokat nyújt az erőforrás-használatra az idő függvényében. Az erőforrás-használat hirtelen növekedésének kezeléséhez használja a vízszintes pod automatikus skálázását, amely szükség szerint skálázza a podreplikák számát.

Juttatások

A Függőleges pod automatikus méretezése a következő előnyöket kínálja:

  • Elemzi és módosítja a processzor- és memóriaerőforrásokat az alkalmazások megfelelő méretéhez . A VPA nem csak a vertikális felskálázásért felelős, hanem az erőforrás-használatuk alapján történő leskálázásért is.
  • Ha módosítania kell az erőforrás-kérelmeket, a skálázási mód automatikusan vagy újból létrehozva lesz.
  • Az egyes tárolókra vonatkozó CPU- és memóriakorlátokat erőforrásházirend megadásával állíthatja be.
  • Biztosítja, hogy a csomópontok megfelelő erőforrásokkal rendelkezzenek a podütemezéshez.
  • Konfigurálható naplózást biztosít a processzor- vagy memóriaerőforrásokon végrehajtott módosításokról.
  • Javítja a fürterőforrás-kihasználtságot, és felszabadítja a processzort és a memóriát más podok számára.

Korlátozások és szempontok

Vegye figyelembe a következő korlátozásokat és szempontokat a Függőleges pod automatikus skálázása használatakor:

  • A VPA fürtönként legfeljebb 1000 podot támogat az objektumokhoz VerticalPodAutoscaler társítva.
  • A VPA a fürtben elérhetőnél több erőforrást javasolhat, ami megakadályozza, hogy a pod hozzá legyen rendelve egy csomóponthoz, és az elégtelen erőforrások miatt fusson. Ezt a korlátozást úgy oldhatja meg, hogy a LimitRange-t névtérenként a maximális rendelkezésre álló erőforrásra állítja , így a podok nem kérnek több erőforrást a megadottnál. Az objektum podonkénti maximálisan engedélyezett erőforrás-javaslatait is beállíthatja VerticalPodAutoscaler . A VPA nem tud teljes mértékben leküzdeni egy nem megfelelő csomóponterőforrás-problémát. A korláttartomány ki van javítva, de a csomópont erőforrás-kihasználtsága dinamikusan módosul.
  • Nem javasoljuk a VPA használatát a vízszintes pod automatikus skálázásával (HPA), amely ugyanazon processzor- és memóriahasználati metrikák alapján skáláz.
  • A VPA-ajánló legfeljebb nyolc napos előzményadatokat tárol.
  • A VPA nem támogatja a JVM-alapú számítási feladatokat, mivel a számítási feladat tényleges memóriahasználata korlátozott.
  • A VPA nem támogatja a VPA saját implementációjának futtatását. Az extra vagy testre szabott ajánló használata támogatott.
  • Az AKS Windows-tárolók nem támogatottak.

A VPA áttekintése

A VPA-objektum három összetevőből áll:

  • Ajánló: Az ajánló figyeli az aktuális és a múltbeli erőforrás-felhasználást, beleértve a metrikaelőzményeket, a memóriahiányos (OOM) eseményeket és a VPA üzembehelyezési specifikációit, és az összegyűjtött információk alapján a tároló cpu- és memóriakérelmeinek/korlátainak ajánlott értékeit adja meg.
  • Frissítő: A frissítő figyeli a felügyelt podokat, hogy az erőforrás-kérések megfelelően legyenek beállítva. Ha nem, eltávolítja ezeket a podokat, hogy a vezérlőik újra létrehozhassák őket a frissített kérésekkel.
  • VPA-beléptető: A VPA beléptető beállítja a megfelelő erőforrás-kérelmeket az új podokon, amelyeket a vezérlő az Updater tevékenysége alapján hozott létre vagy hozott létre újra.

VPA belépési vezérlő

A VPA belépési vezérlő egy bináris, amely regisztrálja magát a mutációs felvételi webhook. Új pod létrehozásakor a VPA belépési vezérlő kérést kap az API-kiszolgálótól, és kiértékeli, hogy van-e megfelelő VPA-konfiguráció, vagy megkeresi a megfelelőt, és az aktuális javaslat alapján állítja be az erőforrás-kérelmeket a podban.

Egy önálló feladat, overlay-vpa-cert-webhook-checkamely a VPA belépési vezérlőn kívül fut. A overlay-vpa-cert-webhook-check feladat létrehozza és megújítja a tanúsítványokat, és regisztrálja a VPA belépési vezérlőt MutatingWebhookConfiguration.

VPA objektumműveleti módok

Minden olyan vezérlőhöz, amely automatikusan kiszámított erőforrás-követelményeket szeretne beállítani, egy függőleges pod automatikus skálázási erőforrást( általában üzembe helyezést) szúr be.

A VPA működése négyféleképpen működik:

  • Auto: A VPA erőforrás-kérelmeket rendel hozzá a pod létrehozásakor, és frissíti a meglévő podokat az előnyben részesített frissítési mechanizmus használatával. Autoaz alapértelmezett mód, amely egyenértékű Recreateaz alapértelmezett móddal. Ha újraindulásmentes vagy helyben elérhetőek a pod-kérelmek frissítései, a mód által előnyben részesített frissítési mechanizmusként Auto is használható. A mód esetében a Auto VPA kiürít egy podot, ha módosítania kell az erőforrás-kérelmeket. Előfordulhat, hogy a podok egyszerre újraindulnak, ami alkalmazásbeli inkonzisztenciákat okozhat. Ebben a helyzetben korlátozhatja az újraindításokat, és konzisztenciát tarthat fenn a PodDisruptionBudget használatával.
  • Recreate: A VPA erőforrás-kérelmeket rendel hozzá a pod létrehozásakor, és frissíti a meglévő podokat úgy, hogy kizárja őket, ha a kért erőforrások jelentősen eltérnek az új javaslatoktól (ha a PodDisruptionBudgetot tiszteletben tartja, ha meg van adva). Ezt a módot csak akkor használja, ha gondoskodnia kell arról, hogy a podok újrainduljanak, amikor az erőforrás-kérelem megváltozik. Ellenkező esetben azt javasoljuk, hogy használja Auto a módot, amely az újraindítás nélküli frissítések előnyeit használja, ha már elérhető.
  • Initial: A VPA csak erőforrás-kérelmeket rendel hozzá a pod létrehozása során. Nem frissíti a meglévő podokat. Ez a mód hasznos a VPA viselkedésének teszteléséhez és megértéséhez a futó podok befolyásolása nélkül.
  • Off: A VPA nem módosítja automatikusan a podok erőforrás-követelményeit. A javaslatok kiszámítása és vizsgálata a VPA objektumban történik.

Üzembehelyezési minta alkalmazásfejlesztéshez

Ha nem ismeri a VPA-t, javasoljuk, hogy az alkalmazásfejlesztés során az alábbi telepítési mintát használva azonosítsa egyedi erőforrás-kihasználtsági jellemzőit, tesztelje a VPA-t a megfelelő működés ellenőrzéséhez, és tesztelje a többi Kubernetes-összetevővel együtt a fürt erőforrás-kihasználtságának optimalizálását:

  1. Állítsa be UpdateMode = "Off" az éles fürtben, és futtassa a VPA-t javaslati módban, hogy tesztelhesse és megismerhesse a VPA-t. UpdateMode = "Off" elkerülheti az olyan helytelen konfigurációt, amely kimaradáshoz vezethet.
  2. Először a megfigyelhetőség kialakításához gyűjtse össze a tényleges erőforrás-kihasználtsági telemetriát egy adott időszakban, amely segít megérteni a tároló- és poderőforrások által a rajtuk futó számítási feladatok által befolyásolt viselkedést és a problémák jeleit.
  3. A teljesítményjellemzők megismeréséhez ismerkedjen meg a figyelési adatokkal. Ezen megállapítás alapján állítsa be a kívánt kéréseket/korlátokat ennek megfelelően, majd a következő üzembe helyezés vagy frissítés során.
  4. Állítsa be updateMode az Autoértéket a , Recreateértékre vagy Initial a követelményektől függően.

Következő lépések

Az AKS-fürtön a függőleges pod automatikus skálázásának beállításáról további információt a Függőleges pod automatikus skálázási eszköz használata az AKS-ben című témakörben talál.