Polaris je predstavljen kako bi Kubernetes klasteri održavali zdravim

Bilješka. transl.: Original ovog teksta napisao je Rob Scott, vodeći SRE inženjer u ReactiveOps-u, koji stoji iza razvoja najavljenog projekta. Vrlo smo bliski ideji centralizirane validacije onoga što je raspoređeno u Kubernetes-u, pa sa zanimanjem pratimo takve inicijative.

Polaris je predstavljen kako bi Kubernetes klasteri održavali zdravim

Drago mi je da se predstavim polaris je projekat otvorenog koda koji pomaže u održavanju "zdravlja" Kubernetes klastera. Napravili smo Polaris za automatizaciju nekih od najboljih praksi koje koristi ReactiveOps kako bi klasteri radili sigurno i pouzdano za veliki broj klijenata. Vrijeme je za otvaranje koda.

S vremena na vrijeme, vidjeli smo kako naizgled manje konfiguracijske nedostatke dovode do ozbiljnih problema koji sprječavaju inženjere da spavaju noću. Nešto vrlo jednostavno - na primjer, konfiguracija zahtjeva za resursima koja je zanemarena zbog zaborava (zahtjevi za resurse) - može prekinuti automatsko skaliranje i čak dovesti do činjenice da su radna opterećenja ostala bez resursa. Ako su ranije manji propusti u konfiguraciji dovodili do prekida u proizvodnji, sada vam Polaris omogućava da ih potpuno spriječite.

Polaris vam pomaže da izbjegnete probleme s konfiguracijom koji utiču na stabilnost, pouzdanost, skalabilnost i sigurnost vaših aplikacija. Olakšava prepoznavanje slabosti u konfiguracijama implementacije i sprečavanje budućih problema. Uz Polaris, možete mirno spavati znajući da se aplikacije postavljaju pomoću skupa dobro testiranih standarda.

Polaris se sastoji od dvije ključne komponente:

  1. kontrolnu tablu koja pruža informacije o tome koliko su dobro konfigurisane postojeće implementacije u klasteru;
  2. eksperimentalni testni webhook koji sprječava uvođenje implementacija koje ne zadovoljavaju prihvaćeni standard.

Polaris Dashboard

Polaris Dashboard je kreiran da pruži jednostavan i vizuelan način da vidite trenutni status implementacije Kubernetesa i dobijete preporuke za poboljšanja. Pruža potpuni pregled klastera i raščlanjuje rezultate po kategoriji, imenskom prostoru i implementaciji.

Polaris je predstavljen kako bi Kubernetes klasteri održavali zdravim

Zadani standardi koje je postavio Polaris su prilično visoki, tako da nemojte biti iznenađeni ako rezultat bude niži nego što ste očekivali. Glavni cilj Polarisa je postaviti visoke standarde i težiti odličnoj zadanoj konfiguraciji. Ako se predložena konfiguracija čini previše kruta, može se ispraviti tokom procesa konfiguracije implementacije, optimizirajući za određena radna opterećenja.

U sklopu publikacije Polaris, odlučili smo ne samo da predstavimo sam alat, već i da detaljno opišemo testove koji su uključeni u njega. Svaki pregled uključuje vezu do relevantne dokumentacije koja objašnjava zašto mislimo da je važna i veze do dodatnih resursa na tu temu.

Polaris Webhook

Ako vam kontrolna tabla pomaže da dobijete pregled trenutne konfiguracije implementacija, onda webhook provodi standarde za sve implementacije koje će biti uvedene samo u klaster.

Nakon što su problemi koje je identificirala kontrolna ploča popravljeni, webhook se može koristiti kako bi se osiguralo da konfiguracija više nikada ne padne ispod utvrđenog standarda. Webhook neće dozvoliti implementaciju implementacija u klasteru čija konfiguracija sadrži značajna odstupanja (nivoa „greške“).

Potencijal ovog webhooka je ohrabrujući, ali još uvijek mu je potrebno opsežno testiranje kako bi se smatrao spremnim za proizvodnju. Trenutno je to eksperimentalna funkcija i dio potpuno novog projekta otvorenog koda. Budući da može ometati ažuriranja za implementaciju, koristite ga oprezno.

Prvi koraci

Nadam se da je, dok još čitate ovu najavu, Polaris alat koji bi vam mogao biti od koristi. Želite li sami isprobati Dashboard? Postavljanje panela u klaster je vrlo jednostavno. Instalira se sa minimalnim pravima (samo za čitanje), a svi podaci ostaju unutra. Da implementirate Dashboard koristeći kubectl, pokrenite:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Sada morate podesiti prosljeđivanje portova kako biste pristupili kontrolnoj tabli preko lokalnog porta 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Naravno, postoji mnogo drugih načina za korištenje i implementaciju Polarisa, uključujući Helm. Možete naučiti o ovome i još mnogo toga od Polaris spremište na GitHubu.

Ovo je samo početak

Zadovoljni smo onim što smo već ugradili u Polaris, ali priča se tu ne završava. Na putu je mnogo novih testova koje bih želio dodati kako bih proširio funkcionalnost. Također tražimo bolji način za implementaciju pravila za provjeru izuzetaka na nivou imenskog prostora ili resursa. Za više informacija o našim planovima, pogledajte mapa puta.

Ako imate dojam da Polaris može biti koristan, odvojite vrijeme da ga isprobate. Pozdravljamo sve ideje, povratne informacije, pitanja ili zahtjeve za povlačenjem. Možete nas kontaktirati na web stranica projekta, in GitHub ili cvrkut.

PS od prevodioca

Pročitajte i na našem blogu:

izvor: www.habr.com

Dodajte komentar