Kubernetes

Kubernetes Metrics serveris

Kubernetes Metrics serveris
Ar tik lielu un sarežģītu sistēmu kā Kubernetes uzraudzība bieži var kļūt apgrūtinoša.Uzraudzība vienmēr ir grūts bizness, jo, no vienas puses, jūs nevēlaties palaist garām kritiskas kļūdas un neveiksmes, no otras puses, jūs nevēlaties, lai jūs noslīcinātu nenozīmīgu kļūdu okeānā, kas tiek aktivizēts ne jūsu lietojumprogrammas dēļ, ne ietekmējot to tik un tā.

Izmantojot savu plānotāju un kontrolieru kaudzi, Kubernetes var atgūties no nelielām kļūmēm, mezglu kļūmēm vai lietotņu sadursmēm no to pākšu iekšpuses. Tomēr, ja notiek daudz avāriju, tam var nebūt nekāda sakara ar infrastruktūru, bet viss ir saistīts ar jūsu lietotni, kuru Kubernetes var mēģināt restartēt atkal un atkal, taču, tā kā kods ir vainīgs, kļūda joprojām pastāvēs un pat var netikt pamanīta.

Tādas kļūdas, kuras visbiežāk netiek pamanītas, ir tādas, kurās lietotnes nedarbojas, bet galu galā tiek izmantoti sistēmas resursi un nodarīts kaitējums kopām visā veiktspējā. Šie ir īpaši nepatīkamie gadījumi, un Kubernetes Metrics Server var būt noderīgs rīks, lai tos uzraudzītu.

Šis projekts oficiāli ir Kubernetes projekta sastāvdaļa, taču tas nav iepriekš iespējots lielākajā daļā Kubernetes sertificēto rajonu. Tam ir divas svarīgas daļas, par kurām vērts apspriest Metrics API un pašu Metrics Server. Bet vispirms nodrošināsim to mūsu Kubernetes (K8) kopai.

Eksperimentāla Kubernetes iestatīšana

Sākot ar 2018. gada jūliju, gan Docker operētājsistēmai Mac, gan Windows ir aprīkots ar Kubernetes sertificētu K8 ieviešanu. Padarot to tikpat viegli kā K8 instalēšana Linux izplatītājā. Jūs varat doties uz Docker iestatījumiem un, ja Docker instance ir atjaunināta, izvēlnē atradīsit cilni Kubernetes. Vienkārši iespējojiet Kubernetes, nevis Docker Swarm, un jums būs izveidots un darbosies viens mezglu kopa, kas būs gatava eksperimentiem.

Tālāk mums ir vajadzīgs vienkāršs lietojumprogrammu komplekts, kas ir izveidots un darbojas mūsu lietošanas gadījumā. Izveidojiet mapi ar nosaukumu Deployments, un tajā izveidosim a nginx-izvietošana.yaml faili, kas izvietotu bezvalstnieku Nginx pākstis.

apiVersion: apps / v1 # versijām pirms 1.9.0 izmantot progr / v1beta2
veids: izvietošana
metadati:
nosaukums: nginx-izvietošana
spec:
atlasītājs:
spēles etiķetes:
lietotne: nginx
kopijas: 2 # norāda izvietošanai palaist 2 pākstis, kas atbilst veidnei
veidne:
metadati:
etiķetes:
lietotne: nginx
spec:
konteineri:
- nosaukums: nginx
attēls: nginx: 1.7.9
ostas:
- containerPort: 80

Saglabājiet failu un tajā pašā direktorijā, kur atrodas šis fails, izpildiet komandu:

$ kubectl izveidot -f nginx-izvietošanu.yaml

Mums, iespējams, būs jāgaida dažas minūtes, lai ļautu Kubernetes lejupielādēt konteinera attēlus, nodrošināt konteinerus un veikt dažādas grāmatvedības uzskaites. Kad tas ir izdarīts, pākšu sarakstu var redzēt kā:

$ kubectl iegūst pākstis

Kā redzat, mums ir divi pākstis gadījumi, kā .yaml fails bija izrakstījis.

Tagad, kad mums ir kas jāuzrauga, jāiespējo Metrics Server. Vispirms pārbaudiet jūsu palaisto Kubernetes versiju. Ja versija ir 1.8 vai vairāk, tad mēs izmantotu citu izvietošanu un, ja tas ir 1.7, tad mēs atgriežamies pie mantojuma:

$ kubectl versija

Jūs varat iegūt oficiālo attēlu un sākt darbu, klonējot šo GitHub repo un pēc tam krātuves saknē palaidiet kubectl izveidot -f ar atbilstošo .yaml atkarībā no jūsu izmantotās K8 versijas.

$ git klons https: // github.com / kubernetes-inkubators / metrika-serveris.git
 
$ cd metrika-serveris
# Ja izmantojat Kubernetes 1. versiju.8 vai vairāk
$ kubectl izveidot -f izvietot / 1.8 + /
# Ja versija ir 1.7, tad
$ kubectl izveidot -f izvietot / 1.7 /

Dodiet laiku kubernetēm, lai lejupielādētu attēlus un izveidotu metrikas serveri. Tas var aizņemt dažas minūtes. Kad tas ir izdarīts, jūs tagad esat gatavs palaist metrikas serveri. Pamata komanda ir iedvesmota no tops komandu, kas bieži tiek palaista, lai uzraudzītu Linux sistēmu. Bet tam ir divi varianti, lai pārbaudītu resursu izmantošana uz aprēķina mezgli un otrais, lai novērtētu patērētais resurss ko izvietoja pākstis un. Lūk, kā redzēt šīs divas detaļas:

$ kubectl augšējais mezgls
$ kubectl augšējā pāksts

Varat redzēt, cik daudz atmiņas vai centrālā procesora laika nodoklis jūsu sistēmai tiek piemērots, un, izmantojot Metrics API, varat iestatīt arī brīdinājumus.

Kur tas turpināsies?

Jaunie metrikas servera lietošanas gadījumi būs izšķiroši Kubernetes nākotnē. Šis projekts joprojām ir 0 versijā.2.x, kad tas būs nobriedis un integrēts Kubernetes galvenajā arhitektūrā, tas apkopos svarīgus datus plānotājam, palīdzot tam daudz efektīvāk sadalīt pākstis mezgliem.

Tāpat Horizontal Pod Autoscaler gūs lielu labumu no projekta un palīdzēs jums palielināt vai samazināt, lai resursi tiktu optimāli izmantoti lietojumprogrammās.

Atsauces

  1. Nginx izvietošana
  2. Kubernetes Metrics serveris
  3. Metrics API noformējuma dokumenti ir atrodami šeit, un līdzīgu informāciju par Metrics Server varat atrast šeit.
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 ...