Polaris a fost introdus pentru a menține clusterele Kubernetes sănătoase

Notă. transl.: Originalul acestui text a fost scris de Rob Scott, un inginer lider SRE la ReactiveOps, care se află în spatele dezvoltării proiectului anunțat. Ideea de validare centralizată a ceea ce este implementat în Kubernetes ne este foarte aproape, așa că urmărim cu interes astfel de inițiative.

Polaris a fost introdus pentru a menține clusterele Kubernetes sănătoase

Mă bucur să vă prezint Polaris este un proiect open source care ajută la menținerea sănătății unui cluster Kubernetes. Am construit Polaris pentru a automatiza unele dintre cele mai bune practici utilizate în ReactiveOps pentru a menține clusterele să funcționeze în siguranță și fiabil pentru un număr mare de clienți. Este timpul să deschideți codul.

Din când în când, am văzut erori de configurare aparent minore care duc la probleme majore care îi țin pe ingineri treji noaptea. Ceva foarte simplu - de exemplu, configurarea cererilor de resurse care au fost uitate din cauza uitării (cereri de resurse) — ar putea întrerupe scalarea automată și chiar duce la lăsarea sarcinilor de lucru fără resurse. Dacă erorile minore din configurație au dus la întreruperi în producție, acum Polaris vă permite să le preveniți complet.

Polaris vă ajută să evitați problemele de configurare care afectează stabilitatea, fiabilitatea, scalabilitatea și securitatea aplicațiilor dvs. Facilitează identificarea defectelor în configurațiile de implementare și prevenirea problemelor viitoare. Cu Polaris, poți dormi liniștit știind că aplicațiile tale sunt implementate folosind un set de standarde bine testate.

Polaris este format din două componente cheie:

  1. un panou de monitorizare care oferă informații despre cât de bine sunt configurate implementările existente în cluster;
  2. un webhook de testare experimentală care împiedică lansarea implementărilor care nu îndeplinesc standardul acceptat.

Tabloul de bord Polaris

Tabloul de bord Polaris a fost creat pentru a oferi o modalitate simplă și vizuală de a vedea starea actuală a implementărilor Kubernetes și de a obține recomandări pentru îmbunătățiri. Oferă o imagine de ansamblu completă a clusterului și, de asemenea, defalcă rezultatele pe categorie, spațiu de nume și implementare.

Polaris a fost introdus pentru a menține clusterele Kubernetes sănătoase

Standardele implicite ale Polaris sunt destul de ridicate, așa că nu fi surprins dacă scorul tău este mai mic decât te-ai așteptat. Scopul principal al lui Polaris este să stabilească standarde înalte și să depună eforturi pentru o configurație implicită excelentă. Dacă configurația propusă pare prea rigidă, aceasta poate fi corectată în timpul procesului de configurare a implementării, optimizând-o pentru anumite sarcini de lucru.

Ca parte a publicației Polaris, am decis nu numai să prezentăm instrumentul în sine, ci și să descriem în detaliu testele care sunt incluse în acesta. Fiecare recenzie include un link către documentația aferentă, care explică de ce credem că este importantă și oferă link-uri către resurse suplimentare pe acest subiect.

Polaris Webhook

Dacă tabloul de bord ajută la obținerea unei imagini de ansamblu asupra configurației actuale a implementărilor, atunci webhook-ul asigură conformitatea cu standardele pentru toate implementările care vor fi implementate în cluster.

Odată ce problemele identificate de tabloul de bord sunt corectate, puteți utiliza un webhook pentru a vă asigura că configurația nu mai scade niciodată sub standardul stabilit. Webhook-ul nu va permite implementări în cluster-ul a cărui configurație conține abateri semnificative (nivelul „eroare”).

Potențialul acestui webhook este incitant, dar va necesita totuși teste extinse pentru a fi considerat gata de producție. Aceasta este în prezent o caracteristică experimentală și face parte dintr-un proiect Open Source complet nou. Deoarece poate interfera cu actualizarea implementărilor, utilizați-l cu precauție.

Noțiuni de bază

Sper că, din moment ce încă citiți acest anunț, Polaris este un instrument pe care s-ar putea să-l găsiți util. Vrei să încerci singur Dashboard? Implementarea unui panou într-un cluster este foarte ușoară. Este instalat cu drepturi minime (numai pentru citire), iar toate datele rămân în interior. Pentru a implementa Dashboard folosind kubectl, rulați:

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

Acum trebuie să configurați redirecționarea portului pentru a accesa tabloul de bord prin portul local 8080:

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

Desigur, există multe alte moduri de a utiliza și de a implementa Polaris, inclusiv folosind Helm. Puteți afla despre asta și multe altele de la Depozitul Polaris pe GitHub.

Acesta este doar începutul

Suntem încântați de ceea ce a construit Polaris până acum, dar povestea nu se termină aici. Există multe teste noi pe cale pe care am dori să le adăugăm pentru a extinde funcționalitatea. De asemenea, căutăm o modalitate mai bună de a implementa regulile de verificare a excepțiilor la nivelul spațiului de nume sau al resurselor. Dacă doriți mai multe informații despre planurile noastre, verificați harta rutiera.

Dacă aveți impresia că Polaris ar putea fi util, vă rugăm să faceți timp pentru a-l încerca. Vom accepta cu plăcere orice idei, feedback, întrebări sau solicitări de tragere. Ne puteti contacta la site-ul proiectuluiÎn GitHub sau Twitter.

PS de la traducator

Citește și pe blogul nostru:

Sursa: www.habr.com

Adauga un comentariu