Kubernetes

„Kubernetes Horizontal Pod Autoscaler“

„Kubernetes Horizontal Pod Autoscaler“
Pods gali būti kuriami kaip atskiri objektai, arba kaip keičiamo dydžio replikos rinkinio ar diegimo dalis. Kiekvienas iš dviejų pastarųjų objektų naudojamas dislokuoti ne tik vieną pod, bet ir daugybę jų. Tikslas yra tai, kad ankštys gali būti pakeičiamos, jei vienas turi per daug eismo, dar du gali neršti ir prisiimti papildomą naštą. Tačiau svarbu atkreipti dėmesį į tai, kad tiek kopijų rinkinyje, tiek diegimo objektuose yra sunkiai užkoduotas skaičius pod kopijų, kurias jie ketina paleisti.

Jei replikų skaičius nustatytas į 100, o paklausa yra per maža, net tada 100 ankščių bus ir veikia. Dėl to eikvojami procesoriaus ir atminties ištekliai. Taip, jis siūlo patikimumą ta prasme, kad jei mazgas sugenda ir jame esančios ankštys žūva, „Replica Set“ valdiklis bandytų sugrąžinti ankščių skaičių iki 100, neršdamas ankštis kituose mazguose. Programa lieka internete.

Abstraktesne prasme „Replikų rinkinys“ bandytų pasiekti a norima būsena klasterio ir pažvelgtų į dabartinė būsena ir išsiaiškinti, kaip tai gali pasiekti norimą būseną.

Tačiau norėtume kažko šiek tiek jautresnio realaus pasaulio poreikiams. Įveskite Horizontalusis „Pod Autoscaler“. „Horizontal Pod Autoscaler“ darbas yra išplėsti programą, kai to reikia, o tada sumažinti atgal, kai sumažėja darbo krūvis.

Kodėl verta naudoti „Horizontal Pod Autoscaler“?

Kaip rodo pavadinimas, šis komponentas automatiškai padidins jūsų programą. Debesyje tai tikrai gali padėti sumažinti skaičiavimo ir atminties išteklius, už kuriuos būsite apmokėti. Kadangi „Autoscaler“ jautriai reaguoja į išteklių naudojimą, matydamas, kad daugybė ankščių tiesiog sėdi tuščiąja eiga, ji sumažina programą, o kai padidėja šių ankščių paklausa, ji padidėja, sukurdama naujas dėžutes ir apkrova paskirstoma tie.

Tai gali padėti sutaupyti brangaus laiko ir apskaičiuoti išteklius. Rašydami diegimą, jums nereikės jaudintis dėl to, koks turėtų būti jūsų kopijų skaičius. Autoscaler tai jums valdys.

Pradiniai nustatymai

Pirmiausia jums reikės turėti veikiantį „Kubernetes“ klasterį. Naudokitės „Katacoda“ žaidimų aikštele, kuri puikiai tinka eksperimentuoti ir sužinoti apie „Kubernetes“. Kitas dalykas, ko jums reikia, yra metrinis serveris.

Šis jūsų „Kubernetes“ sistemos priedas („kube-system“ vardų sritis) iš dviejų skirtingų perspektyvų surinks tokią metriką kaip procesoriaus ir atminties naudojimas:

  1. Ištekliai, kuriuos naudoja kiekvienas pod
  2. Ištekliai, sunaudoti kiekviename mazge

Metrika iš abiejų perspektyvų yra labai svarbi padedant „Autoscaler“ nuspręsti, koks turėtų būti kitas jo žingsnis. Norėdami pridėti metrinį serverį prie savo „Kubernetes“ sankaupos, vadovaukitės šiuo vadovu. Dabar esame pasirengę pamatyti, kaip veikia horizontalusis „Pod Autoscaler“.

„Autoscaler“ naudojimas

Norint pamatyti, kaip veikia „Autoscaler“, reikia bandomosios programos. Sukurkime paprastą php-apache serverį ir parodykime jį kaip paslaugą.

$ kubectl paleisti php-apache --image = k8s.gcr.io / hpa-example --prašymai = cpu = 200m --paveikti
--uostas = 80

Čia naudojamas vaizdas yra vienas iš Kubernetes projekto pateiktų pavyzdinių vaizdų. Tai atlieka kai kurias intensyvias procesoriaus užduotis ir tai daro procesą daug akivaizdesnį.

Norėdami pakeisti šio diegimo mastelį, turime informuoti automatinį keitiklį, koks yra mažiausias ir didžiausias leidžiamų naudoti tinklų skaičius ir procentas, kurį jiems leidžiama naudoti. Yra daug daugiau veiksnių, kuriuos galite apsvarstyti, pvz., Atmintis, saugykla ir tinklas.

$ kubectl automatinio mastelio diegimas / php-apache --cpu-procentas = 50 - min = 1 - max = 10

Esant dabartinei būsenai, kadangi niekas nenaudoja šios paslaugos, jai labiausiai patiks išlaikyti minimalią vertę. Paleisdami galite patikrinti visos automatinio mastelio diegimo būseną numatytojoje vardų srityje:

$ kubectl gauti hpa
PAVADINIMO NUORODOS TIKSLAI MINPODAI MAXPODS REPLICAS AMŽIAUS
php-apache diegimas / php-apache 0% / 50% 1 10 1 2m

Apkrovos generavimas ir automatinio mastelio funkcijos testavimas

Galite pamatyti, kad replikų skaičius vis dar yra tik vienas, o procesoriaus apkrova yra nežymiai maža. Galime sukurti papildomą apkrovą ir pamatyti, kaip į ją reaguoja autoskaleris. Paslauga, atskleidžianti mūsų php-apache pods, nėra veikiama išorinio pasaulio, todėl mes sukursime laikiną pod ir atidarysime interaktyvų apvalkalo seansą tame pod.

Tai leis mums bendrauti su visomis klasterio paslaugomis, įskaitant „php-apache“ paslaugą.

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

Pastebėsite, kad raginimas pasikeis nurodant, kad esame šio konteinerio viduje. Pabandykime dabar pasikrauti mūsų paslaugą pakartotinai pateikdami užklausas. Naujoje eilutėje vykdykime šiuos veiksmus, kol ciklas:

/ # nors tiesa; darykite wget -q -O- http: // php-apache.numatytas.svc.klasteris.vietinis; padaryta

Atidarykite naują terminalą, nes kol kas negalime leisti, kad ši kilpa nutrūktų. Apžiūrėję automatinį keitiklį pamatysite procesoriaus naudojimą, o išvardinę ankštis pamatysite, kad dabar yra keli php-apache serverio atvejai,

$ kubectl gauti hpa
PAVADINIMO NUORODOS TIKSLAI MINPODAI MAXPODS REPLICAS AMŽIAUS
php-apache diegimas / php-apache 121% / 50% 1 10 4 1h
 
$ kubectl gauna ankštis
PAVADINIMAS PARUOŠTAS BŪKLĖ PAGAL PALEIDIMĄ AMŽIAUS
autobusų dėžė 1/1 Bėgimas 0 6m
php-apache-8699449574-7qwxd 1/1 Veikia 0 28s
php-apache-8699449574-c9v54 1/1 Veikia 0 10h
php-apache-8699449574-h9s5f 1/1 Veikia 0 28s
php-apache-8699449574-sg4hz 1/1 Veikia 0 28s

Nutraukite „while“ kilpą ir ankštys sumažės iki vienos per kelias minutes.

Išvada

Taigi tai yra paprastas „Horizontal Pod Autoscaler“ demonstravimas. Nepamirškite turėti savo grupei funkcinės metrikos serverio ir kurdami diegimą išlaikykite 1 replikų skaičių. Likusia dalimi pasirūpins horizontalusis ankštinis autoskaleris.

5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...
Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...