Kubernetes

Kubernetes Horizontal Pod Autoscaler

Kubernetes Horizontal Pod Autoscaler
Podse lahko ustvarite kot samostojne predmete ali kot del razširljivega nabora replik ali razmestitve. Vsak od slednjih dveh predmetov se uporablja za razmestitev ne samo enega stroka, temveč tudi množico. Cilj tukaj je, da so stroki lahko zamenljivi, če ima človek preveč prometa, se lahko dvoje še dvoje in prevzame dodatno breme. Pomembno pa je omeniti, da imajo tako kompleti replik kot tudi razmestitveni objekti trdo kodirano število replik pod, ki jih nameravajo zagnati.

Če je število replik nastavljeno na 100 in je povpraševanje premalo, tudi takrat bo 100 sklopov pripravljeno in deluje. Posledica tega je izguba CPU in pomnilniških virov. Da, ponuja zanesljivost v smislu, da če vozlišče zruši in stroki znotraj njega odmrejo, bo krmilnik Replica Set poskusil vrniti število strokov nazaj na 100 z drstitvijo strokov v drugih vozliščih. Aplikacija ostane na spletu.

V bolj abstraktnem smislu bi Replica Set poskušal doseči a želeno stanje grozda in bi pogledal trenutno stanje in ugotovite, kako lahko doseže želeno stanje.

Vendar bi radi nekaj bolj občutljivega na resnično povpraševanje. Enter Horizontalni samodejni skalirnik. Naloga Horizontal Pod Autoscaler je, da aplikacijo povečate, ko jo potrebujete, in jo nato zmanjšate, ko delovna obremenitev pade.

Zakaj uporabljati Horizontal Pod Autoscaler?

Kot že ime pove, bi ta komponenta samodejno prilagodila vašo aplikacijo. V oblaku vam lahko to resnično pomaga zmanjšati računske in pomnilniške vire, ki vam bodo zaračunani. Ker je Autoscaler občutljiv na izrabo virov, ko vidi, da veliko strokov sedi brez dela, program zmanjša, ko pa se povpraševanje po teh strokih poveča, ga poveča tako, da ustvari nove stroke in se tovor porazdeli na tiste.

Prihranite lahko tako dragocen čas kot računske vire. Ko pišete razmestitev, vam ne bo treba skrbeti, kakšno naj bo število kopij za vaše stroje, samodejni skaler bi to uredil namesto vas.

Začetna nastavitev

Prva in najpomembnejša zahteva bi bila, da imate delujočo gručo Kubernetes. Uporabite igrišče Katacoda, ki je kot nalašč za eksperimentiranje in učenje o Kubernetesu. Naslednja stvar, ki bi jo potrebovali, je metrični strežnik.

Ta dodatek k vašemu sistemu Kubernetes (imenski prostor kube-sistema) bi zbral meritve, kot sta poraba procesorja in pomnilnika z dveh različnih vidikov:

  1. Vir, ki ga uporablja vsak pod
  2. Viri, porabljeni na vsakem vozlišču

Meritve z obeh vidikov so ključnega pomena za pomoč Autoscalerju pri odločitvi, kakšen bo naslednji korak. Če želite v metlico Kubernetes dodati metrični strežnik, sledite tem navodilom. Zdaj smo pripravljeni videti Horizontal Pod Autoscaler v akciji.

Uporaba samodejnega skala

Če želimo videti samodejni program za skaliranje, potrebujemo testno aplikacijo. Ustvarimo preprost strežnik php-apache in ga predstavimo kot storitev.

$ kubectl zažene php-apache --image = k8s.gcr.io / hpa-primer --requests = cpu = 200m --expose
--vrata = 80

Slika, uporabljena tukaj, je ena izmed vzorčnih slik, ki jih ponuja projekt Kubernetes. Izvaja nekaj CPU intenzivnih nalog in s tem naredi postopek bolj očiten.

Če želite samodejno prilagoditi obseg te razmestitve, moramo samodejnemu skalatorju obvestiti, kakšno je najmanjše in največje število pods, ki jih bomo dovolili, in odstotek CPU, ki ga lahko uporabljajo. Obstaja veliko več dejavnikov, ki jih lahko upoštevate, kot so pomnilnik, pomnilnik in omrežje.

$ kubectl samodejno uvajanje / php-apache --cpu -% = 50 --min = 1 --max = 10

Ker trenutno nihče ne uporablja te storitve, bo najbolj všeč, da ostane na najnižji vrednosti. Stanje vse samodejno razširjene razmestitve v privzetem imenskem prostoru lahko preverite tako, da zaženete:

$ kubectl dobite hpa
IME REFERENČNI CILJI MINPODS MAXPODS REPLIKE STAROST
uvajanje php-apache / php-apache 0% / 50% 1 10 1 2m

Ustvarjanje obremenitve in preizkušanje funkcije samodejnega merjenja

Opazite, da je število kopij še vedno samo eno, obremenitev procesorja pa neznatno majhna. Ustvarimo lahko dodatno obremenitev in preverimo, kako se samodejni merilnik hitrosti odziva nanjo. Storitev, ki razkriva naše pods php-apache, ni izpostavljena zunanjemu svetu, zato bomo ustvarili začasni pod in v njem odprli interaktivno lupinsko sejo.

To nam bo omogočilo komunikacijo z vsemi storitvami, ki so na voljo v gruči, vključno s storitvijo php-apache.

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

Opazili boste, da se bo poziv spremenil, kar kaže, da smo znotraj tega vsebnika. Poskusimo zdaj z večkratnimi zahtevami nekoliko obremeniti našo storitev. V novem pozivu zaženimo naslednjo zanko while:

/ # medtem ko je res; naredite wget -q -O- http: // php-apache.privzeto.svc.grozd.lokalni; Končano

Odprite nov terminal, saj te zanke še ne moremo dokončati. Po pregledu samodejnega skalerja boste videli izkoriščenost procesorja in ko boste našteli pods, boste videli več primerov strežnika php-apache,

$ kubectl dobite hpa
IME REFERENČNI CILJI MINPODS MAXPODS REPLIKE STAROST
uvajanje php-apache / php-apache 121% / 50% 1 10 4 1h
 
$ kubectl dobite stroke
IME PRIPRAVLJENO STANJE ZAVARUJE STAROST
busybox 1/1 Tek 0 6m
php-apache-8699449574-7qwxd 1/1 Tek 0 28s
php-apache-8699449574-c9v54 1/1 Tek 0 10h
php-apache-8699449574-h9s5f 1/1 Tek 0 28s
php-apache-8699449574-sg4hz 1/1 Tek 0 28s

Prekinite zanko while in število strokov se bo v nekaj minutah zmanjšalo na eno.

Zaključek

To je preprost prikaz Horizontal Pod Autoscaler. Ne pozabite imeti funkcionalnega strežnika za meritve za svojo gručo in med ustvarjanjem razmestitve naj bo število replik 1. Za ostalo bo poskrbel vodoravni samodejni skalar.

Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...
Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...