Polaris predstavljen kako bi Kubernetes klasteri bili zdravi

Bilješka. prev.: Izvornik ovog teksta napisao je Rob Scott, vodeći SRE inženjer u tvrtki ReactiveOps koja stoji iza razvoja najavljenog projekta. Ideja centralizirane validacije onoga što se postavlja na Kubernetes vrlo nam je bliska pa sa zanimanjem pratimo takve inicijative.

Polaris predstavljen kako bi Kubernetes klasteri bili zdravi

Drago mi je predstaviti Polaris je projekt otvorenog koda koji pomaže u održavanju ispravnosti Kubernetes klastera. Napravili smo Polaris da automatiziramo neke od najboljih praksi koje se koriste u ReactiveOpsu kako bi klasteri sigurno i pouzdano radili preko velikog broja korisnika. Vrijeme je za otvaranje koda.

S vremena na vrijeme vidjeli smo kako naizgled manje konfiguracijske pogreške dovode do velikih problema koji inženjere drže budnima noću. Nešto vrlo jednostavno - na primjer, konfiguracija zahtjeva za resurse koja je zaboravljena zbog zaborava (zahtjevi za resurse) — može prekinuti automatsko skaliranje i čak dovesti do toga da radna opterećenja ostanu bez resursa. Ako su prije manje pogreške u konfiguraciji dovodile do prekida u proizvodnji, sada vam Polaris omogućuje da ih potpuno spriječite.

Polaris vam pomaže izbjeći probleme s konfiguracijom koji utječu na stabilnost, pouzdanost, skalabilnost i sigurnost vaših aplikacija. Olakšava prepoznavanje nedostataka u konfiguracijama implementacije i sprječava buduće probleme. S Polarisom možete mirno spavati znajući da su vaše aplikacije postavljene pomoću skupa dobro testiranih standarda.

Polaris se sastoji od dvije ključne komponente:

  1. nadzornu ploču koja pruža informacije o tome koliko su dobro konfigurirane postojeće implementacije u klasteru;
  2. eksperimentalni web-dojavnik za testiranje koji sprječava uvođenje implementacija koje ne zadovoljavaju prihvaćeni standard.

Polaris nadzorna ploča

Nadzorna ploča Polaris stvorena je kako bi pružila jednostavan i vizualni način da vidite trenutno stanje implementacije Kubernetesa i dobijete preporuke za poboljšanja. Pruža potpuni pregled klastera, a također raščlanjuje rezultate prema kategoriji, prostoru naziva i implementaciji.

Polaris predstavljen kako bi Kubernetes klasteri bili zdravi

Polarisovi zadani standardi prilično su visoki, pa nemojte biti iznenađeni ako je vaš rezultat niži od očekivanog. Polarisov glavni cilj je postaviti visoke standarde i težiti izvrsnoj zadanoj konfiguraciji. Ako se predložena konfiguracija čini prestrogom, može se ispraviti tijekom procesa konfiguracije postavljanja, optimizirajući je za određena radna opterećenja.

U sklopu publikacije Polaris odlučili smo ne samo predstaviti sam alat, već i detaljno opisati testove koji su u njega uključeni. Svaka recenzija uključuje poveznicu na srodnu dokumentaciju, koja objašnjava zašto smatramo da je važna i pruža veze na dodatne izvore o temi.

Polaris Webhook

Ako nadzorna ploča pomaže u dobivanju pregleda trenutne konfiguracije implementacija, tada web-dojavnik osigurava usklađenost sa standardima za sve implementacije koje će biti uvedene u klaster.

Nakon što se isprave problemi koje je utvrdila nadzorna ploča, možete upotrijebiti web-dojavnik kako biste osigurali da konfiguracija nikada više ne padne ispod utvrđenog standarda. Webhook neće dopustiti implementacije u klasteru čija konfiguracija sadrži značajna odstupanja (razina "greške").

Potencijal ovog web-dojavnika je uzbudljiv, ali ipak će zahtijevati opsežna testiranja da bi se smatrao spremnim za proizvodnju. Ovo je trenutno eksperimentalna značajka i dio potpuno novog projekta otvorenog koda. Budući da može ometati ažuriranje implementacija, koristite ga s oprezom.

Početak

Nadam se da je Polaris alat koji bi vam mogao biti koristan, budući da još uvijek čitate ovu najavu. Želite sami isprobati nadzornu ploču? Postavljanje panela u klaster vrlo je jednostavno. Instalira se s minimalnim pravima (samo za čitanje), a svi podaci ostaju unutra. Da biste postavili nadzornu ploču koristeći kubectl, pokrenite:

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

Sada trebate konfigurirati prosljeđivanje porta za pristup Nadzornoj ploči 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 korištenje Helma. O ovome i mnogo više možete saznati od Polaris repozitorij na GitHubu.

Ovo je tek početak

Uzbuđeni smo zbog onoga što je Polaris dosad napravio, ali priča tu ne završava. Na putu je mnogo novih testova koje bismo željeli dodati kako bismo proširili funkcionalnost. Također tražimo bolji način za implementaciju pravila provjere iznimaka na razini imenskog prostora ili resursa. Ako želite više informacija o našim planovima, provjerite karta puta.

Ako ste pod dojmom da bi Polaris mogao biti koristan, odvojite vrijeme i isprobajte ga. Rado ćemo prihvatiti sve ideje, povratne informacije, pitanja ili zahtjeve za povlačenjem. Možete nas kontaktirati na web mjesto projektaU GitHub ili X / Twitter.

PS od prevoditelja

Pročitajte i na našem blogu:

Izvor: www.habr.com

Dodajte komentar