Kubernetes

„Kubernetes Metrics“ serveris

„Kubernetes Metrics“ serveris
Esant tokiai didelei ir sudėtingai sistemai kaip „Kubernetes“, stebėjimas dažnai gali kelti nerimą.Stebėjimas visada yra keblus reikalas, nes, viena vertus, nenorite praleisti kritinių klaidų ir nesėkmių, kita vertus, nenorite, kad paskęstumėte nereikšmingų klaidų vandenyne, atsirandančiame ne dėl jūsų programos, nei dėl to vis tiek tai.

Turėdamas savo planuoklių ir valdiklių krūvą, „Kubernetes“ gali atsigauti po nedidelių gedimų, sugedusių mazgų ar programų, sugriuvusių iš jų ankščių. Tačiau jei įvyksta daug avarijų, tai gali būti nieko bendro su infrastruktūra, bet viskas, kas susiję su jūsų programa, kurią „Kubernetes“ gali bandyti paleisti iš naujo ir vėl, tačiau kadangi kaltas kodas, gedimas išliks ir gali net nepastebėti.

Dažniausiai klaidos, kurios nepastebimos, yra tos, kur programos nesutrinka, bet galiausiai panaudoja sistemos išteklius ir kenkia grupėms dėl viso našumo. Tai ypač nemalonūs atvejai, o „Kubernetes Metrics Server“ gali būti naudinga priemonė jiems stebėti.

Šis projektas oficialiai yra „Kubernetes“ projekto dalis, tačiau daugelyje „Kubernetes“ sertifikuotų rajonų jis iš anksto neįgalintas. Jame yra dvi svarbios dalys, kurias verta aptarti „Metrics“ API ir patį „Metrics Server“. Bet pirmiausia pateikime jį savo „Kubernetes“ (K8) klasteriui.

Eksperimentinė „Kubernetes“ sąranka

Nuo 2018 m. Liepos mėn. „Docker“, skirtos „Mac“ ir „Windows“, turi „Kubernetes“ sertifikuotą paties K8 diegimą. Tai padaryti taip pat lengva, kaip įdiegti K8 „Linux“ distributore. Galite pereiti į „Docker“ nustatymus ir jei „Docker“ egzempliorius yra atnaujintas, meniu rasite „Kubernetes“ skirtuką. Tiesiog įjunkite „Kubernetes“ vietoj „Docker Swarm“ ir turėsite vieną mazgo sankaupą, kuri bus parengta eksperimentams.

Toliau mums reikia šiek tiek paprastų programų rinkinio, kuris būtų parengtas ir veiktų mūsų naudojimo atveju. Sukurkite aplanką pavadinimu „Diegimai“, o jame sukurkime nginx-dislokavimas.yaml failus, kuriuose būtų įdiegtos „Nginx“ ankštys be pilietybės.

apiVersion: programos / v1 # versijoms iki 1.9.0 naudoti programas / v1beta2
natūra: dislokavimas
metaduomenys:
pavadinimas: nginx-dislokavimas
specifikacija:
selektorius:
matchLabels:
programa: „nginx“
kopijos: 2 # nurodo diegimui paleisti 2 šabloną atitinkančias dėžutes
šablonas:
metaduomenys:
etiketės:
programa: „nginx“
specifikacija:
konteineriai:
- vardas: nginx
vaizdas: nginx: 1.7.9
uostai:
- containerPort: 80

Išsaugokite failą ir tame pačiame kataloge, kuriame yra šis failas, vykdykite komandą:

$ kubectl sukurti -f nginx-dislokavimas.yaml

Gali tekti palaukti kelias minutes, kad „Kubernetes“ galėtų atsisiųsti konteinerio vaizdus, ​​parūpinti konteinerius ir atlikti įvairią buhalteriją. Tai padarę, ankščių sąrašą galite pamatyti kaip:

$ kubectl gauna ankštis

Kaip matote, mes turime du podo atvejus, kaip .yaml byla buvo paskyrusi.

Dabar, kai turime ką stebėti, turime įjungti „Metrics Server“. Pirmiausia patikrinkite naudojamą „Kubernetes“ versiją. Jei versija yra 1.8 ar daugiau, tada mes vykdytume kitą diegimą ir, jei jis yra 1.7, tada grįšime prie palikimo:

$ kubectl versija

Galite gauti oficialų vaizdą ir pradėti klonuodami šią „GitHub“ atsarginę kopiją, tada saugyklos šakniniame kompiuteryje paleiskite kubectl sukurti -f su atitinkamais .yaml, priklausomai nuo jūsų vykdomos K8 versijos.

$ git klonas https: // github.com / kubernetes-inkubatorius / metrika-serveris.git
 
$ cd metrika-serveris
# Jei naudojate „Kubernetes“ 1 versiją.8 ar daugiau
$ kubectl create -f dislokuoti / 1.8 + /
# Jei versija yra 1.Tada 7
$ kubectl create -f dislokuoti / 1.7 /

Duokite šiek tiek laiko „kubernetėms“ atsisiųsti vaizdus ir paspartinti metrikos serverį. Tai gali užtrukti kelias minutes. Tai atlikę, dabar esate pasirengę paleisti metrikos serverį. Pagrindinė komanda yra įkvėpta viršuje komanda, kuri dažnai vykdoma norint stebėti „Linux“ sistemą. Bet jis turi du variantus, kuriuos reikia patikrinti išteklių panaudojimas skaičiuojant mazgai ir antra įvertinti sunaudotas išteklius dislokuotų ankštys ir. Štai kaip pamatyti šias dvi detales:

$ kubectl viršutinis mazgas
$ kubectl viršuje

Galite pamatyti, kiek „Pod“ apmokestina jūsų sistemą atminties ar procesoriaus laiko požiūriu, ir naudodamiesi „Metrics“ API galite nustatyti ir įspėjimus.

Kur jis čia eis?

Metrikos serveryje atsirandantys naudojimo atvejai bus labai svarbūs ateityje „Kubernetes“. Šis projektas vis dar yra 0 versijos.2.x, subrendęs ir integravęsis į pagrindinę „Kubernetes“ architektūrą, jis surinks svarbius duomenis tvarkaraščiui, padėdamas jam efektyviau paskirstyti mazgelius mazgams daug efektyviau.

Panašiai „Horizontal Pod Autoscaler“ turės daug naudos iš projekto ir padės jums išplėsti ar sumažinti, kad programos optimaliai naudotų išteklius.

Literatūra

  1. „Nginx“ diegimas
  2. „Kubernetes Metrics“ serveris
  3. „Metrics“ API dizaino dokumentus galite rasti čia, o informacijos apie „Metrics Server“ galite rasti čia.
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...
Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...