Polaris es va introduir per mantenir els clústers de Kubernetes sans

Nota. transl.: L'original d'aquest text va ser escrit per Rob Scott, l'enginyer SRE principal de ReactiveOps, que està darrere del desenvolupament del projecte anunciat. Estem molt a prop de la idea de la validació centralitzada del que es desplega a Kubernetes, per això seguim aquest tipus d'iniciatives amb interès.

Polaris es va introduir per mantenir els clústers de Kubernetes sans

Content de presentar-te Estrella polar és un projecte de codi obert que ajuda a mantenir la "salut" d'un clúster de Kubernetes. Hem creat Polaris per automatitzar algunes de les millors pràctiques utilitzades per ReactiveOps per mantenir els clústers en funcionament de manera segura i fiable per a un gran nombre de clients. És hora d'obrir codi.

Una vegada rere l'altra, hem vist com errors de configuració aparentment menors condueixen a problemes greus que impedeixen que els enginyers dormin a la nit. Una cosa molt senzilla, per exemple, la configuració de les sol·licituds de recursos que es va passar per alt a causa de l'oblit (sol·licituds de recursos) - podria trencar l'escala automàtica i fins i tot conduir al fet que les càrregues de treball es quedessin sense recursos. Si abans, els descuits menors de la configuració van provocar interrupcions en la producció, ara Polaris us permet prevenir-les completament.

Polaris us ajuda a evitar problemes de configuració que afecten l'estabilitat, la fiabilitat, l'escalabilitat i la seguretat de les vostres aplicacions. Facilita identificar les debilitats en les configuracions de desplegament i prevenir problemes futurs. Amb Polaris, podeu dormir tranquils sabent que les aplicacions es despleguen mitjançant un conjunt d'estàndards ben provats.

Polaris es compon de dos components clau:

  1. un tauler que proporciona informació sobre com estan configurats els desplegaments existents al clúster;
  2. un webhook de prova experimental que impedeix el desplegament de desplegaments que no compleixen l'estàndard acceptat.

Tauler de control de Polaris

El tauler de control de Polaris es va crear per oferir una manera senzilla i visual de veure l'estat actual dels desplegaments de Kubernetes i obtenir recomanacions de millora. Proporciona una visió general completa del clúster i desglossa els resultats per categoria, espai de noms i desplegament.

Polaris es va introduir per mantenir els clústers de Kubernetes sans

Els estàndards predeterminats establerts per Polaris són bastant alts, així que no us sorprengui si la puntuació és més baixa del que esperàveu. L'objectiu principal de Polaris és establir estàndards alts i esforçar-se per aconseguir una configuració predeterminada excel·lent. Si la configuració proposada sembla massa rígida, es pot corregir durant el procés de configuració del desplegament, optimitzant-se per a càrregues de treball específiques.

Com a part de la publicació de Polaris, vam decidir no només presentar l'eina en si, sinó també descriure amb detall les proves que s'hi inclouen. Cada revisió inclou un enllaç a la documentació rellevant que explica per què creiem que és important i enllaços a recursos addicionals sobre el tema.

Polaris Webhook

Si el tauler de control us ajuda a obtenir una visió general de la configuració actual dels desplegaments, aleshores el webhook aplica els estàndards per a tots els desplegaments que només es desplegaran al clúster.

Un cop solucionats els problemes identificats pel tauler, es pot utilitzar un webhook per assegurar-se que la configuració no torni a caure per sota de l'estàndard establert. El webhook no permetrà desplegar desplegaments al clúster, la configuració dels quals conté desviacions significatives (del nivell "error").

El potencial d'aquest webhook és encoratjador, però encara necessita proves exhaustives per considerar-lo llest per a la producció. Actualment és una funció experimental i forma part d'un nou projecte de codi obert. Com que pot interferir amb les actualitzacions de desplegament, feu-lo servir amb precaució.

primers passos

Espero que mentre encara esteu llegint aquest anunci, Polaris sigui una eina que us pot resultar útil. Vols provar Dashboard tu mateix? Desplegar un panell en un clúster és molt fàcil. S'instal·la amb drets mínims (només de lectura) i totes les dades romanen a dins. Per implementar Dashboard mitjançant kubectl, executeu:

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

Ara heu de configurar el reenviament de ports per accedir al tauler mitjançant el port local 8080:

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

Per descomptat, hi ha moltes altres maneres d'utilitzar i desplegar Polaris, inclòs Helm. Podeu aprendre sobre això i molt més Repositori Polaris a GitHub.

Això és tan sols el principi

Estem contents amb el que ja hem incorporat a Polaris, però la història no acaba aquí. Hi ha moltes proves noves en camí que m'agradaria afegir per ampliar la funcionalitat. També estem buscant una millor manera d'implementar regles de verificació d'excepcions a nivell d'espai de noms o de recursos. Per obtenir més informació sobre els nostres plans, consulteu mapa de carreteres.

Si teniu la impressió que Polaris pot ser útil, preneu-vos el temps per provar-ho. Agraïm qualsevol idea, comentari, pregunta o sol·licitud d'extracció. Pots contactar amb nosaltres a web del projectea GitHub o Twitter.

PS del traductor

Llegeix també al nostre blog:

Font: www.habr.com

Afegeix comentari