Kubernetes

Kubernetesov metrički poslužitelj

Kubernetesov metrički poslužitelj
S tako velikim i kompliciranim sustavom kao Kubernetes, nadzor često može postati problematičan.Nadzor je uvijek nezgodan posao, jer s jedne strane ne želite propustiti kritične greške i kvarove, s druge strane, ne želite se utopiti u moru trivijalnih pogrešaka koje se pokreću ne zbog vaše prijave niti koje utječu to u svakom slučaju.

Sa svojim vlastitim nizom planera i kontrolera, Kubernetes se može oporaviti od manjih kvarova, otkaza čvorova ili rušenja aplikacija unutar njihovih pods. Međutim, ako se dogodi puno padova, to možda nema nikakve veze s infrastrukturom, već s onom što ima veze s vašom aplikacijom koju Kubernetes može pokušati ponovno i ponovno pokrenuti, ali budući da je kôd kriv, kvar će i dalje postojati, a može čak i proći nezapaženo.

Vrste grešaka koje se najčešće ne primijete su one u kojima se aplikacije ne ruše, već na kraju iskorištavaju sistemske resurse i nanose štetu klasterima zbog svih performansi. To su posebno gadni slučajevi i Kubernetes Metrics Server može biti koristan alat za njihovo nadgledanje.

Projekt je službeno dio projekta Kubernetes, ali nije unaprijed omogućen u većini distribucija s certifikatom Kubernetes. Ima dva važna dijela o kojima valja raspraviti Metrics API i sam Metrics Server. Ali prvo ga stavimo na našu Kubernetes (K8) skupinu.

Eksperimentalno postavljanje Kubernetesa

Od srpnja 2018. Docker za Mac i Windows dolaze s Kubernetesovom certificiranom implementacijom samog K8. Olakšavajući ga poput instaliranja K8 na Linux distribuciju. Možete otići na Docker Settings i ako je Docker instanca ažurna, u izborniku ćete pronaći karticu Kubernetes. Samo omogućite Kubernetes umjesto Docker Swarma i imat ćete klaster jednog čvora koji je spreman za eksperimentiranje.

Dalje, trebamo nekoliko jednostavnih programa koji rade i rade za naš slučaj korištenja. Stvorite mapu pod nazivom Deployments i u njoj stvorimo nginx-implementacija.yaml datoteke koje bi raspoređivale Nginx pods.

apiVersion: apps / v1 # za verzije prije 1.9.0 koristite apps / v1beta2
vrsta: Raspoređivanje
metapodaci:
ime: nginx-implementacija
specifikacija:
selektor:
matchLabels:
aplikacija: nginx
replike: 2 # govori implementaciji da pokrene 2 mahune koje odgovaraju predlošku
predložak:
metapodaci:
oznake:
aplikacija: nginx
specifikacija:
spremnici:
- naziv: nginx
slika: nginx: 1.7.9
luke:
- containerPort: 80

Spremite datoteku i u istom direktoriju u kojem je ova datoteka pokrenite naredbu:

$ kubectl create -f nginx-deployment.yaml

Možda ćemo morati pričekati nekoliko minuta kako bismo Kubernetesu omogućili preuzimanje slika spremnika, osiguravanje spremnika i malo raznog knjigovodstva. Kad je to gotovo, popis mahuna možete vidjeti kao:

$ kubectl dobiti mahune

Kao što vidite, imamo dva slučaja mahune, kao .yaml dosje propisao.

Sad kad imamo što nadgledati, moramo omogućiti Metrics Server. Prvo provjerite verziju Kubernetesa koju koristite. Ako je verzija 1.8 ili noviji, pokrenuli bismo drugačiji raspored i ako je 1.7, a zatim se pribjegavamo naslijeđenom:

Verzija $ kubectl

Možete dobiti službenu sliku i započeti kloniranjem ovog GitHub repo-a, a zatim unutar korijena spremišta pokrenuti kubectl stvoriti -f s odgovarajućim .yaml, ovisno o verziji K8 koju koristite.

$ git klon https: // github.com / kubernetes-inkubator / metrics-server.git
 
$ cd metrics-server
# Ako koristite Kubernetes verziju 1.8 ili više
$ kubectl create -f deploy / 1.8 + /
# Ako je verzija 1.7, dakle
$ kubectl create -f deploy / 1.7 /

Dajte kubernetama neko vrijeme da preuzmu slike i okrenu poslužitelj mjernih podataka. Moglo bi potrajati nekoliko minuta. Kad je to gotovo, sada ste spremni za pokretanje poslužitelja mjernih podataka. Osnovna naredba nadahnuta je iz vrh naredba koja se često izvodi za nadgledanje Linux sustava. Ali ima dvije varijante jednu za provjeru iskorištavanje resursa na računanju čvorovi i drugo za mjerenje potrošeni resurs od strane raspoređenih mahune i. Evo kako vidjeti ta dva detalja:

$ kubectl gornji čvor
$ kubectl gornja mahuna

Možete vidjeti koliko mahuna oporezuje vaš sustav u smislu memorije ili CPU vremena, a pomoću Metrics API-ja možete postaviti upozorenja u skladu s njima.

Kamo će odavde?

Slučajevi upotrebe s metričkog poslužitelja koji će se pojaviti bit će presudni u budućnosti Kubernetesa. Ovaj je projekt još uvijek u verziji 0.2.x, kad sazrije i integrira se u glavnu Kubernetesovu arhitekturu, prikupit će važne podatke za planer, pomažući mu da učinkovitije raspoređuje mahune na čvorove na mnogo učinkovitiji način.

Slično tome, Horizontal Pod Autoscaler imat će veliku korist od projekta i pomoći će vam da se povećate ili smanjite tako da aplikacije optimalno koriste resurse.

Reference

  1. Implementacije Nginxa
  2. Kubernetesov metrički poslužitelj
  3. Dokumente za dizajn za Metrics API možete pronaći ovdje, a slično ovdje možete pronaći i podatke o poslužitelju Metrics.
WinMouse vam omogućuje prilagodbu i poboljšanje kretanja pokazivača miša na Windows računalu
Ako želite poboljšati zadane funkcije pokazivača miša, upotrijebite besplatni program WinMouse. Dodaje više značajki koje će vam pomoći da na najbolji...
Lijevi gumb miša ne radi u sustavu Windows 10
Ako s prijenosnim računalom ili stolnim računalom koristite namjenski miš, ali lijevi gumb miša ne radi u sustavu Windows 10/8/7 iz nekog razloga evo ...
Pokazivač skače ili se slučajno pomiče dok tipkate u sustavu Windows 10
Ako ustanovite da kursor miša sam skače ili se pomiče automatski, nasumično dok tipkate u Windows prijenosnom računalu ili računalu, neki od ovih prij...