Kubernetes

Kubernetes Horizontal Pod Autoscaler

Kubernetes Horizontal Pod Autoscaler
Pody môžu byť vytvorené ako samostatné objekty alebo ako súčasť škálovateľnej sady replík alebo nasadenia. Každý z posledných dvoch objektov sa používa na nasadenie nielen jedného podu, ale ich veľkého množstva. Cieľom je, aby boli tobolky nahraditeľné, ak má človek príliš veľkú premávku, ďalšie dve sa môžu rozmnožiť a znášať ďalšiu záťaž. Je tu však dôležité poznamenať, že ako objekty repliky, tak aj objekty nasadenia majú pevne zakódovaný počet replík podov, ktoré majú v úmysle spustiť.

Ak je počet replík nastavený na 100 a dopyt je príliš malý, bude aj potom 100 podov funkčných. Výsledkom je plytvanie prostriedkami CPU a pamäte. Áno, ponúka spoľahlivosť v tom zmysle, že ak dôjde k zrúteniu uzla a pody v ňom zomrú, kontrolór sady replík sa pokúsi vrátiť počet toboliek späť na 100 tak, že umiestni pody do iných uzlov. Aplikácia zostáva online.

V abstraktnejšom zmysle by sa sada replík pokúsila dosiahnuť a požadovaný stav klastra a pozrel by sa na Aktuálny stav a prísť na to, ako môže dosiahnuť požadovaný stav.

Chceli by sme však niečo trochu citlivejšie na dopyt v reálnom svete. Zadajte Horizontálny automatický škálovač pod. Úlohou spoločnosti Horizontal Pod Autoscaler je škálovať aplikáciu, keď je to potrebné, a potom ju škálovať späť nadol, akonáhle poklesne pracovné zaťaženie.

Prečo používať automatický škálovač Horizontal Pod?

Ako už názov napovedá, táto súčasť automaticky zmení vašu aplikáciu. V cloude vám to môže skutočne pomôcť znížiť výpočtové a pamäťové zdroje, ktoré vám budú účtované. Pretože Autoscaler je citlivý na využitie zdrojov, keď vidí, že veľa podov iba nečinne sedí, zmenší veľkosť aplikácie a keď sa zvýši dopyt po týchto podochoch, zväčší to veľkosť aplikácie vytvorením nových podov a distribúcia záťaže do tie.

Ušetrí vám drahocenný čas aj výpočtové zdroje. Pri písaní nasadenia sa nebudete musieť starať o to, aký by mal byť počet replík pre vaše pody, automatický škálovač by to spravoval za vás.

Pôvodné nastavenie

Najdôležitejšou požiadavkou by bolo, aby ste mali spustený klaster Kubernetes. Použite ihrisko Katacoda, ktoré je ideálne na experimentovanie a poznávanie Kubernetes. Ďalšia vec, ktorú by ste vyžadovali, je metrický server.

Tento doplnok k vášmu systému Kubernetes (priestor názvov kube-systému) zhromažďuje metriky, ako napríklad využitie procesora a pamäte, z dvoch rôznych hľadísk:

  1. Zdroj používaný každým podom
  2. Zdroj spotrebovaný v každom uzle

Metriky z oboch hľadísk sú rozhodujúce pri pomáhaní Autoscaleru rozhodnúť sa, aký by mal byť ďalší krok. Ak chcete pridať metrický server do svojho klastra Kubernetes, postupujte podľa tejto príručky. Teraz sme pripravení vidieť Horizontálny pod automatický škálovač v akcii.

Používanie automatického škálovača

Aby sme videli, že Autoscaler funguje, potrebujeme testovaciu aplikáciu. Vytvorme jednoduchý server php-apache a vystavme ho ako službu.

$ kubectl spustiť php-apache --image = k8s.gcr.Príklad io / hpa --requests = cpu = 200m - vystaviť
--port = 80

Obrázok, ktorý sa tu používa, je jedným zo vzorových obrázkov, ktoré poskytuje projekt Kubernetes. Vykonáva niektoré úlohy náročné na procesor a robí tým proces oveľa zreteľnejším.

Na automatické škálovanie tohto nasadenia musíme autoscaler informovať, aký je minimálny a maximálny počet podov, ktoré povolíme, a percento CPU, ktoré majú povolené používať. Existuje mnoho ďalších faktorov, ktoré môžete brať do úvahy, ako napríklad pamäť, úložisko a sieť.

$ kubectl nasadenie automatického škálovania / php-apache --cpu-percent = 50 --min = 1 --max = 10

Pretože v súčasnej dobe nikto túto službu nekonzumuje, bude sa vám najviac páčiť zostať na minimálnej hodnote. Stav všetkých automaticky nastavených nasadení v predvolenom mennom priestore môžete skontrolovať spustením:

$ kubectl dostať hpa
NÁZOV REFERENČNÉ CIELE MINIPODY MAXPODY VEK REPLIKY
php-apache Deployment / php-apache 0% / 50% 1 10 1 2m

Generovanie zaťaženia a testovanie funkcie automatického škálovania

Vidíte, že počet replík je stále iba jedna a zaťaženie procesora je zanedbateľne nízke. Môžeme vytvoriť ďalšiu záťaž a zistiť, ako na ňu reaguje automatický škálovač. Služba, ktorá vystavuje naše moduly php-apache, nie je vystavená vonkajšiemu svetu, preto vytvoríme dočasný modul a otvoríme v ňom interaktívnu reláciu shellu.

To nám umožní komunikovať so všetkými službami dostupnými v klastri vrátane služby php-apache.

$ kubectl run -i --tty busybox --image = busybox --restart = Nikdy - sh
/ #

Všimnete si, že výzva sa zmení, čo naznačuje, že sa nachádzame v tomto kontajneri. Pokúsme sa teraz trochu zaťažiť naše služby opakovanými požiadavkami. V novom riadku spustime nasledujúcu slučku while:

/ # zatiaľ čo pravda; urobte wget -q -O- http: // php-apache.predvolené.svc.zhluk.miestne; hotový

Otvorte nový terminál, pretože túto slučku zatiaľ nemôžeme nechať ukončiť. Po kontrole automatického škálovača uvidíte využitie procesora a pri zozname podov uvidíte, že teraz existuje niekoľko inštancií servera php-apache,

$ kubectl dostať hpa
NÁZOV REFERENČNÉ CIELE MINIPODY MAXPODY VEK REPLIKY
php-apache Deployment / php-apache 121% / 50% 1 10 4 1 hod
 
$ kubectl získať struky
STAV NÁZOV PRIPRAVENÝ NARODENÝ VEK
busybox 1/1 Beh 0 6m
php-apache-8699449574-7qwxd 1/1 so spustením 0 28 s
php-apache-8699449574-c9v54 1/1 beh 0 10 hodín
php-apache-8699449574-h9s5f 1/1 beh 0 28s
php-apache-8699449574-sg4hz 1/1 beh 0 28 s

Ukončite slučku while a počet toboliek za pár minút stíchne na jeden.

Záver

Toto je jednoduchá ukážka automatického škálovača Horizontal Pod Autoscaler. Nezabudnite mať pre svoj klaster funkčný server metrík a pri vytváraní nasadenia udržujte počet replík na 1. O zvyšok sa postará horizontálny automatický škálovač pod.

Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...
Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...