Kubernetes

Kubernetes horizontālais podu automātiskais kalkulators

Kubernetes horizontālais podu automātiskais kalkulators
Pākstis var izveidot kā atsevišķus objektus vai kā mērogojamu kopiju komplekta vai izvietojuma daļu. Katrs no pēdējiem diviem objektiem tiek izmantots, lai izvietotu ne tikai vienu pāksti, bet arī daudzus no tiem. Mērķis ir tāds, ka pākstis var būt aizstājamas, ja vienam ir pārāk daudz satiksmes, bet vēl divi var nārstot un uzņemties papildu slogu. Tomēr šeit ir jāņem vērā svarīga lieta, ka gan kopiju kopai, gan izvietošanas objektiem ir grūti kodēts skaits pod kopiju, kuras tās plāno palaist.

Ja kopiju skaits ir iestatīts uz 100 un pieprasījums ir pārāk mazs, pat tad 100 pākstis tiks izveidotas un darbosies. Tā rezultātā tiek izšķiesti CPU un atmiņas resursi. Jā, tas nodrošina uzticamību tādā nozīmē, ka, ja mezgls avarē un tajā esošās pākstis mirst, kontrolieris Replica Set mēģina atgriezt pākšu skaitu līdz 100, nārstojot pākstis citos mezglos. Lietojumprogramma paliek tiešsaistē.

Abstraktākā nozīmē Replikas komplekts mēģinātu sasniegt a vēlamais stāvoklis kopas un apskatītu pašreizējais stāvoklis un izdomājiet, kā tas var sasniegt vēlamo stāvokli.

Tomēr mēs vēlētos kaut ko mazliet jutīgāku pret reālās pasaules pieprasījumu. Enter Horizontālais Pod Autoscaler. Horizontal Pod Autoscaler uzdevums ir palielināt lietojumprogrammu, kad tā ir nepieciešama, un pēc tam atkal samazināt, kad darba slodze samazinās.

Kāpēc izmantot Horizontal Pod Autoscaler?

Kā norāda nosaukums, šis komponents automātiski mērogos jūsu lietojumprogrammu. Mākonī tas patiešām var palīdzēt samazināt skaitļošanas un atmiņas resursus, par kuriem jums tiks izrakstīti rēķini. Tā kā Autoscaler ir jutīgs pret resursu izmantošanu, tad, redzot, ka daudzi pākstis vienkārši sēž dīkstāvē, tas samazina lietojumprogrammu un, kad pieprasījums pēc šīm pākstīm palielinās, tas palielina lietojumprogrammu, izveidojot jaunas pākstis un slodze tiek sadalīta tie.

Tas var ietaupīt gan dārgo laiku, gan aprēķināt resursus. Rakstot izvietošanu, jums nebūs jāuztraucas par to, kādam jābūt jūsu kopiju skaitam, autoskaleris to pārvaldīs jums.

Sākotnējā iestatīšana

Pirmkārt un galvenokārt, jums ir jābūt darbojošai Kubernetes kopai. Izmantojiet Katacoda rotaļu laukumu, kas ir ideāli piemērots eksperimentiem un Kubernetes iepazīšanai. Nākamā lieta, kas jums būtu nepieciešama, ir metriskais serveris.

Šis jūsu Kubernetes sistēmas papildinājums (kube-sistēmas nosaukumvieta) apkopotu metriku, piemēram, CPU un atmiņas lietojumu, no divām dažādām perspektīvām:

  1. Resurss, ko izmanto katrs pods
  2. Katrā mezglā patērētais resurss

Metrika no abām perspektīvām ir izšķiroša, lai palīdzētu Autoscaler izlemt, kādam jābūt tā nākamajam solim. Lai pievienotu metrisko serveri savam Kubernetes kopai, izpildiet šo rokasgrāmatu. Tagad mēs esam gatavi redzēt Horizontal Pod Autoscaler darbībā.

Izmantojot Autoscaler

Lai redzētu, kā darbojas Autoscaler, mums ir nepieciešama testa lietojumprogramma. Izveidosim vienkāršu php-apache serveri un pakļausim to kā pakalpojumu.

$ kubectl palaist php-apache --image = k8s.gcr.io / hpa-example - pieprasījumi = cpu = 200m - eksponēt
--osta = 80

Šeit izmantotais attēls ir viens no Kubernetes projekta sniegtajiem attēlu paraugiem. Tas veic dažus intensīvus procesora uzdevumus un, to darot, padara procesu daudz redzamāku.

Lai automātiski mērogotu šo izvietojumu, mums jāinformē autoskaleris, kāds ir minimālais un maksimālais pākšu skaits, ko mēs atļausim, un CPU procentuālais daudzums, ko viņi drīkst izmantot. Varat apsvērt daudz vairāk faktoru, piemēram, atmiņu, atmiņu un tīklu.

Automātiska mēroga izvietošana $ kubectl / php-apache --cpu-percent = 50 --min = 1 --max = 10

Tā kā pašreizējā stāvoklī neviens šo pakalpojumu neizmanto, tam visvairāk patiks palikt pie minimālās vērtības. Noklusējuma nosaukumvietā var pārbaudīt visas automātiski mērogotās izvietošanas stāvokli, palaižot:

$ kubectl get hpa
NOSAUKUMA ATSAUCES MĒRĶI MINPODS MAXPODS REPLICAS AGE
php-apache izvietošana / php-apache 0% / 50% 1 10 1 2m

Slodzes ģenerēšana un automātiskā mēroga funkcijas pārbaude

Var redzēt, ka kopiju skaits joprojām ir tikai viens, un CPU slodze ir nenozīmīgi maza. Mēs varam radīt papildu slodzi un redzēt, kā autoskalers reaģē uz to. Pakalpojums, kas atmasko mūsu php-apache pākstis, nav pakļauts ārpasaulei, tāpēc mēs izveidosim pagaidu pogu un šajā pogā atvērsim interaktīvu čaulas sesiju.

Tas ļaus mums sazināties ar visiem klasterī pieejamajiem pakalpojumiem, tostarp ar php-apache pakalpojumu.

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

Jūs pamanīsit, ka uzvedne mainīsies, norādot, ka mēs atrodamies šajā konteinerā. Tagad mēģināsim nedaudz noslogot mūsu pakalpojumu, atkārtoti pieprasot. Jaunajā uzvednē palaidīsim šādu darbību, kamēr cikls:

/ # lai arī patiess; do wget -q -O- http: // php-apache.noklusējums.svc.kopa.vietējais; izdarīts

Atveriet jaunu termināli, jo mēs vēl nevaram ļaut šai cilpai izbeigties. Pārbaudot autoskaleru, jūs redzēsiet CPU izmantošanu, un, uzskaitot pākstis, redzēsit, ka tagad ir vairāki php-apache servera gadījumi,

$ kubectl get hpa
NOSAUKUMA ATSAUCES MĒRĶI MINPODS MAXPODS REPLICAS AGE
php-apache izvietošana / php-apache 121% / 50% 1 10 4 1h
 
$ kubectl iegūst pākstis
VĀRDS GATAVS STATUSS ATKĀRTOTI VECUMS
autobusu kaste 1/1 Skriešana 0 6m
php-apache-8699449574-7qwxd 1/1 Darbojas 0 28s
php-apache-8699449574-c9v54 1/1 Darbojas 0 10h
php-apache-8699449574-h9s5f 1/1 Darbojas 0 28s
php-apache-8699449574-sg4hz 1/1 Darbojas 0 28s

Pārtrauciet cilpu while, un pākšu skaits dažās minūtēs samazināsies līdz vienam.

Secinājums

Tātad tas ir vienkāršs Horizontal Pod Autoscaler demonstrējums. Atcerieties, ka savam klasterim ir jābūt funkcionālam metrikas serverim, un, veidojot izvietošanu, saglabājiet kopiju skaitu 1. Horizontālais pākšu autoskalators rūpēsies par pārējo.

Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...
Kā tvert un straumēt spēļu sesiju operētājsistēmā Linux
Agrāk spēļu spēlēšana tika uzskatīta tikai par hobiju, taču laika gaitā spēļu industrija piedzīvoja milzīgu tehnoloģiju un spēlētāju skaita pieaugumu....
Labākās spēles, ko spēlēt ar rokas izsekošanu
Oculus Quest nesen iepazīstināja ar lielisku ideju par rokas izsekošanu bez kontrolieriem. Ar arvien lielāku spēļu un aktivitāšu skaitu, kas atbalsta ...