Kubernetes

Kubernetesov metrični strežnik

Kubernetesov metrični strežnik
Pri tako velikem in zapletenem sistemu, kot je Kubernetes, lahko nadzor pogosto postane težaven.Spremljanje je vedno zapleteno podjetje, ker na eni strani ne želite zamuditi kritičnih napak in napak, na drugi strani pa ne želite, da se utopite v ocean trivialnih napak, ki se sprožijo ne zaradi vaše prijave in ne itak v.

Z lastnim kupom načrtovalcev in krmilnikov lahko Kubernetes okreva po manjših okvarah, neuspelih vozliščih ali zrušitvah aplikacij znotraj svojih pods. Če pa se zgodi veliko zrušitev, to morda nima nobene zveze z infrastrukturo, ampak vse z vašo aplikacijo, ki jo lahko Kubernetes znova in znova poskusi znova zagnati, toda ker je koda kriva, napaka ne bo odpravljena in lahko ostane celo neopažena.

Napake, ki so večinoma neopažene, so tiste, pri katerih se aplikacije ne zrušijo, ampak na koncu izkoriščajo sistemske vire in škodujejo grozdom zaradi celotne zmogljivosti. To so še posebej grdi primeri in Kubernetesov metrični strežnik je lahko koristno orodje za njihovo spremljanje.

Projekt je uradno del projekta Kubernetes, vendar v večini distribucij s certifikatom Kubernetes ni vnaprej omogočen. Ima dva pomembna dela, o katerih je vredno razpravljati o metričnem API-ju in samem metričnem strežniku. Najprej pa si ga priskrbimo na naši gruči Kubernetes (K8).

Eksperimentalna namestitev Kubernetes

Od julija 2018 imata Docker za Mac in Windows tudi Kubernetesovo izvedbo K8. Tako enostavno, kot je namestitev K8 na distribucijo Linuxa. Odprite nastavitve Dockerja in če je primerek Dockerja posodobljen, boste v meniju našli zavihek Kubernetes. Preprosto omogočite Kubernetes namesto Docker Swarm in dobili boste eno vozlišče, ki bo pripravljeno za eksperimentiranje.

Nato potrebujemo nekaj preprostih programov, ki delujejo za naš primer uporabe. Ustvarite mapo z imenom Deployments in v njej ustvarimo datoteko nginx-razmestitev.yaml datotek, ki bi uvajale Nginx pods.

apiVersion: apps / v1 # za različice pred 1.9.0 uporaba apps / v1beta2
vrsta: razmestitev
metapodatki:
ime: nginx-razmestitev
specifikacija:
izbirnik:
matchLabels:
aplikacija: nginx
replike: 2 # ukazu uvajanju, naj zažene 2 pods, ki se ujemata s predlogo
predloga:
metapodatki:
nalepke:
aplikacija: nginx
specifikacija:
posode:
- ime: nginx
slika: nginx: 1.7.9
vrata:
- containerPort: 80

Shranite datoteko in v istem imeniku, kjer je ta datoteka, zaženite ukaz:

$ kubectl create -f nginx-razmestitev.yaml

Morda bomo morali počakati nekaj minut, da Kubernetes prenese slike posod, priskrbi zabojnike in opravi nekaj raznovrstnega knjigovodstva. Ko je to končano, lahko seznam strokov vidite kot:

$ kubectl dobite stroke

Kot lahko vidite, imamo dva primera stroka, kot .datoteko yaml.

Zdaj, ko moramo nekaj spremljati, moramo omogočiti strežnik Metrics. Najprej preverite različico programa Kubernetes, ki ga uporabljate. Če je različica 1.8 ali več, bi izvedli drugačno razmestitev in če je 1.7 nato se zatečemo k staremu:

Različica $ kubectl

Lahko dobite uradno sliko in začnete s kloniranjem tega repozitorija GitHub in nato v korenu repozitorija zaženite kubectl ustvari -f z ustreznim .yaml, odvisno od različice K8, ki jo uporabljate.

$ git klon https: // github.com / kubernetes-inkubator / metrics-server.git
 
$ cd metrics-server
# Če uporabljate različico Kubernetes 1.8 ali več
$ kubectl create -f deploy / 1.8 + /
# Če je različica 1.7, potem
$ kubectl create -f deploy / 1.7 /

Dajte kubernetom nekaj časa, da prenesejo slike in zavrtite strežnik za meritve. To lahko traja nekaj minut. Ko je to končano, ste zdaj pripravljeni za zagon strežnika za meritve. Osnovni ukaz temelji na vrh ukaz, ki se pogosto izvaja za nadzor sistema Linux. Ima pa dve različici, eno za preverjanje izkoriščenost virov na izračunu vozlišča in drugič za merjenje porabljenega vira s strani napotenih stroki in. Ti dve podrobnosti si lahko ogledate tako:

$ kubectl zgornje vozlišče
$ kubectl zgornji pod

Ogledate si lahko, koliko stroški obdavčijo vaš sistem glede na pomnilnik ali čas procesorja, z API-jem Metrics pa lahko nastavite tudi opozorila.

Kam bo šlo od tu?

Nastajajoči primeri uporabe s strežnika za meritve bodo ključni v prihodnosti Kubernetesa. Ta projekt je še vedno v različici 0.2.x, ko dozori in se integrira v splošno Kubernetesovo arhitekturo, bo zbral pomembne podatke za načrtovalnik, kar mu bo pomagalo do učinkovitejšega dodeljevanja pods vozlišč na veliko bolj učinkovit način.

Podobno bo imel Horizontal Pod Autoscaler veliko koristi od projekta in vam bo pomagal povečati ali pomanjšati, da bodo aplikacije vire optimalno uporabljale.

Reference

  1. Uvedbe Nginx
  2. Kubernetesov metrični strežnik
  3. Dokumente za oblikovanje za API Metrics najdete tukaj, podobno pa lahko najdete tudi informacije o strežniku Metrics tukaj.
Uporabna orodja za igralce Linux
Če radi igrate igre na Linuxu, obstaja verjetnost, da ste za izboljšanje igralne izkušnje uporabljali aplikacije in pripomočke, kot so Wine, Lutris in...
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...
Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...