Polaris yntrodusearre om Kubernetes-klusters sûn te hâlden

Noat. transl.: It orizjineel fan dizze tekst is skreaun troch Rob Scott, de liedende SRE-yngenieur by ReactiveOps, dy't efter de ûntwikkeling fan it oankundige projekt stiet. Wy binne heul tichtby it idee fan sintrale validaasje fan wat yn Kubernetes wurdt ynset, dus folgje wy sokke inisjativen mei belangstelling.

Polaris yntrodusearre om Kubernetes-klusters sûn te hâlden

Bliid yntrodusearje Polaris is in iepen boarne-projekt dat helpt om de "sûnens" fan in Kubernetes-kluster te behâlden. Wy bouden Polaris om guon fan 'e bêste praktiken te automatisearjen brûkt troch ReactiveOps om klusters feilich en betrouber te hâlden foar in grut oantal kliïnten. It is tiid om boarne te iepenjen.

Tiid nei tiid hawwe wy sjoen hoe't skynber lytse konfiguraasjeflaters liede ta serieuze problemen dy't foarkomme dat yngenieurs nachts sliepe. Iets heul ienfâldich - bygelyks de konfiguraasje fan oanfragen foar boarnen dy't oersjoen waarden troch ferjitten (oanfragen foar boarnen) - koe autoscaling brekke en sels liede ta it feit dat workloads sûnder boarnen bleaunen. As earder, lytse konfiguraasje tafersjoch late ta ûnderbrekkings yn produksje, no Polaris kinne jo folslein foarkomme se.

Polaris helpt jo konfiguraasjeproblemen te foarkommen dy't ynfloed hawwe op de stabiliteit, betrouberens, skalberens en feiligens fan jo applikaasjes. It makket it maklik om swakkens yn ynsetkonfiguraasjes te identifisearjen en takomstige problemen te foarkommen. Mei Polaris kinne jo sûn sliepe wittende dat applikaasjes wurde ynset mei in set fan goed hifke noarmen.

Polaris bestiet út twa wichtige komponinten:

  1. in dashboard dat jout ynformaasje oer hoe goed de besteande ynset yn it kluster binne konfigurearre;
  2. in eksperimintele test webhook dy't foarkomt ynset út roll út dy't net foldogge oan de akseptearre standert.

Polaris Dashboard

It Polaris Dashboard is makke om in ienfâldige en fisuele manier te leverjen om de hjoeddeistige status fan Kubernetes-ynset te sjen en oanbefellings foar ferbetteringen te krijen. It jout in folslein oersjoch fan it kluster en brekt de resultaten op per kategory, nammeromte en ynset.

Polaris yntrodusearre om Kubernetes-klusters sûn te hâlden

De standertnoarmen ynsteld troch Polaris binne frij heech, dus wês net ferrast as de skoare leger is dan jo ferwachte. It haaddoel fan Polaris is om hege noarmen yn te stellen en te stribjen nei in geweldige standertkonfiguraasje. As de foarstelde konfiguraasje te stiif liket, kin it korrizjearre wurde tidens it ynsetkonfiguraasjeproses, optimalisearjen foar spesifike workloads.

As ûnderdiel fan 'e publikaasje fan Polaris hawwe wy besletten net allinich it ark sels te presintearjen, mar ek de tests dy't dêryn binne opnommen yn detail te beskriuwen. Elke resinsje omfettet in keppeling nei de relevante dokumintaasje dy't ferklearret wêrom't wy tinke dat it wichtich is en keppelings nei ekstra boarnen oer it ûnderwerp.

Polaris Webhook

As it dashboard jo helpt om in oersjoch te krijen fan 'e aktuele konfiguraasje fan ynset, dan hanthavenet de webhook noarmen foar alle ynset dy't allinich útrol wurde nei it kluster.

Nei't de problemen identifisearre troch it dashboard binne reparearre, kin in webhook brûkt wurde om te soargjen dat de konfiguraasje nea wer ûnder de fêststelde standert falt. De webhook sil it ynsetten fan ynset yn it kluster net tastean, wêrfan de konfiguraasje signifikante ôfwikingen befettet (fan it nivo "flater").

It potinsjeel fan dizze webhook is bemoedigend, mar it hat noch wiidweidige testen nedich om as produksjeklear te wurde beskôge. It is op it stuit in eksperimintele funksje en diel fan in gloednij Open Source-projekt. Om't it kin ynterferearje mei ynsetupdates, brûk it mei foarsichtigens.

Om te begjinnen

Ik hoopje dat wylst jo dizze oankundiging noch lêze, Polaris in ark is dat jo miskien nuttich fine. Wolle jo Dashboard sels besykje? It ynsetten fan in paniel yn in kluster is heul maklik. It is ynstalleare mei minimale rjochten (allinich lêze), en alle gegevens bliuwe binnen. Om Dashboard te brûken mei kubectl, útfiere:

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

No moatte jo poarte trochstjoere ynstelle om tagong te krijen ta it Dashboard fia de lokale poarte 8080:

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

Fansels binne d'r in protte oare manieren om Polaris te brûken en yn te setten, ynklusyf Helm. Jo kinne leare oer dit en folle mear fan Polaris repository op GitHub.

Dit is noch mar it begjin

Wy binne bliid mei wat wy al yn Polaris ynboud hawwe, mar it ferhaal einiget dêr net. D'r binne in protte nije tests ûnderweis dy't ik taheakje wol om de funksjonaliteit út te wreidzjen. Wy sykje ek nei in bettere manier om útsûnderingskontrôleregels op it nammeromte of boarnenivo te ymplementearjen. Sjoch foar mear ynformaasje oer ús plannen road map.

As jo ​​​​de yndruk hawwe dat Polaris nuttich kin wêze, nim dan de tiid om it út te probearjen. Wy ferwolkomje alle ideeën, feedback, fragen of pull-oanfragen. Jo kinne kontakt mei ús opnimme op projekt webside, yn GitHub of Twitter.

PS fan oersetter

Lês ek op ús blog:

Boarne: www.habr.com

Add a comment