A fost prezentat Polaris pentru menținerea sănătății clusterele Kubernetes

Nota traducătorului.: Originalul acestui text a fost scris de Rob Scott — inginer SRE principal la ReactiveOps, compania care dezvoltă proiectul anunțat. Suntem foarte apropiați de ideea validării centralizate a ceea ce este implementat în Kubernetes, așa că urmărim cu interes astfel de inițiative.

A fost prezentat Polaris pentru menținerea sănătății clusterele Kubernetes

Sunt bucuros să prezint Polaris — un proiect open source care ajută la menținerea „sănătății” clusterului Kubernetes. Am creat Polaris pentru a automatiza câteva dintre cele mai bune practici folosite de ReactiveOps pentru a menține funcționarea sigură și fiabilă a clusterelor pentru un număr mare de clienți. A sosit momentul să deschidem codul sursă.

De nenumărate ori am fost martorii modului în care, aparent, mici neajunsuri în configurație au dus la probleme serioase, care îngreunau somnul inginerilor. Ceva foarte simplu — cum ar fi o configurație pentru cererile de resurse (resource requests) — putea rupe auto-scalarea și chiar duce la situația în care muncile rămâneau fără resurse. Dacă anterior, neajunsurile minore în configurație duceau la întreruperi în funcționarea production, acum Polaris le permite să fie complet prevenite.

Polaris ajută la evitarea problemelor de configurație care afectează stabilitatea, fiabilitatea, scalabilitatea și securitatea aplicațiilor dvs. Acesta permite identificarea ușoară a deficiențelor în configurația deployment-urilor și prevenirea problemelor viitoare. Cu Polaris, poți dormi liniștit știind că aplicațiile sunt implementate conform unui set de standarde bine verificate.

Polaris constă din două componente cheie:

  1. un panou de monitorizare care oferă informații despre cât de corect sunt configurate deployment-urile existente în cluster;
  2. un webhook experimental de verificare care împiedică implementarea deployment-urilor care nu respectă standardul acceptat.

Panoul Polaris

Panoul din Polaris a fost creat pentru a oferi o modalitate simplă și clară de a vedea starea curentă a deployment-urilor în Kubernetes și de a primi recomandări pentru îmbunătățiri. Oferă o imagine de ansamblu completă a clusterului, precum și detalii împărțite pe categorii, spații de nume și deployment-uri.

A fost prezentat Polaris pentru menținerea sănătății clusterele Kubernetes

Standardele stabilite în Polaris prin default sunt suficient de ridicate, așa că nu te mira dacă evaluarea va fi mai mică decât te-ai așteptat. Scopul principal al Polaris este de a stabili standarde ridicate și de a urmări o configurație excelentă implicit. Dacă configurația propusă pare prea rigidă, aceasta poate fi ajustată în timpul procesului de configurare a deployment-ului, optimizându-se pentru sarcini de lucru specifice.

În cadrul publicației Polaris, am decis nu doar să prezentăm instrumentul în sine, ci și să descriem în detaliu testele incluse în acesta. Fiecare verificare include un link către documentația corespunzătoare, unde explicăm de ce considerăm că aceasta este importantă și oferim linkuri către resurse suplimentare pe această temă.

Polaris Webhook

Dacă panoul de control ajută la obținerea unei perspective asupra configurației curente a deployment-urilor, webhook-ul asigură conformitatea cu standardele pentru toate deployment-urile care vor fi lansate în cluster.

După ce problemele identificate de panoul de control sunt corectate, poți folosi webhook-ul pentru ca configurația să nu mai coboare niciodată sub standardul stabilit. Webhook-ul nu va permite desfășurarea în cluster a deployment-urilor ale căror configurații conțin abateri semnificative (nivel „eroare”).

Potentțialul acestui webhook este încurajator, dar pentru a-l considera gata de producție, va fi necesar un test riguros. Deocamdată, aceasta este o capacitate experimentală și parte a unui proiect Open Source complet nou. Deoarece poate perturba actualizările deployment-urilor, folosește-l cu prudență.

Începerea utilizării

Sper că, din moment ce încă citești acest anunț, Polaris este un instrument care s-ar putea dovedi util pentru tine. Vrei să încerci Dashboard-ul pe cont propriu? Lansarea panoului în cluster este foarte simplă. Acesta se instalează cu drepturi minime (read only), iar toate datele rămân în interior. Pentru a lansa Dashboard-ul cu ajutorul kubectl, execută:

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

Acum trebuie configurată redirecționarea porturilor, pentru a accesa Dashboard-ul prin portul local 8080:

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

Desigur, există multe alte moduri de utilizare și desfășurare a Polaris, inclusiv cu ajutorul Helm. Poți afla despre acest lucru și multe alte aspecte din repository Polaris pe GitHub.

Aceasta este doar începutul

Suntem mulțumiți de ceea ce am reușit deja să integrăm în Polaris, dar povestea nu se încheie aici. O mulțime de teste noi sunt în pregătire, pe care ne dorim să le adăugăm pentru a extinde funcționalitatea. De asemenea, căutăm cea mai bună modalitate de implementare a regulilor de verificare a excepțiilor la nivel de spații de nume sau resurse. Dacă doriți să obțineți informații suplimentare despre planurile noastre, consultați foaia de parcurs.

Dacă aveți impresia că Polaris ar putea fi util, vă rugăm să găsiți timp să-l încercați. Suntem bucuroși să primim orice idei, feedback, întrebări sau pull request-uri. Ne puteți contacta pe site-ul proiectului, pe GitHub sau pe Twitter.

P.S. de la traducător

Citiți și în blogul nostru:

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster