Polaris je bil uveden za ohranjanje zdravih gruč Kubernetes

Opomba. prevod: Izvirnik tega besedila je napisal Rob Scott, vodilni SRE inženir pri ReactiveOps, ki stoji za razvojem napovedanega projekta. Zelo blizu nam je ideja o centralizirani validaciji tega, kar je razporejeno v Kubernetesu, zato z zanimanjem spremljamo takšne pobude.

Polaris je bil uveden za ohranjanje zdravih gruč Kubernetes

Z veseljem se predstavljam Polaris je odprtokodni projekt, ki pomaga ohranjati "zdravje" gruče Kubernetes. Polaris smo zgradili za avtomatizacijo nekaterih najboljših praks, ki jih uporablja ReactiveOps za varno in zanesljivo delovanje gruč za veliko število strank. Čas je za odprto kodo.

Vedno znova smo videli, kako na videz manjše napake v konfiguraciji povzročajo resne težave, zaradi katerih inženirji ponoči ne morejo spati. Nekaj ​​zelo preprostega - na primer konfiguracija zahtevkov za vire, ki je bila spregledana zaradi pozabljivosti (zahteve za vir) - lahko prekine samodejno skaliranje in celo povzroči, da delovne obremenitve ostanejo brez virov. Če so prej manjše napake v konfiguraciji vodile do motenj v proizvodnji, zdaj Polaris omogoča, da jih popolnoma preprečite.

Polaris vam pomaga preprečiti konfiguracijske težave, ki vplivajo na stabilnost, zanesljivost, razširljivost in varnost vaših aplikacij. Omogoča enostavno prepoznavanje slabosti v konfiguracijah uvajanja in preprečevanje prihodnjih težav. S Polarisom lahko mirno spite, saj veste, da so aplikacije nameščene z uporabo niza dobro preizkušenih standardov.

Polaris je sestavljen iz dveh ključnih komponent:

  1. nadzorna plošča, ki ponuja informacije o tem, kako dobro so konfigurirane obstoječe uvedbe v gruči;
  2. eksperimentalni testni webhook, ki preprečuje uvedbo uvedb, ki ne ustrezajo sprejetemu standardu.

Nadzorna plošča Polaris

Nadzorna plošča Polaris je bila ustvarjena za zagotavljanje preprostega in vizualnega načina za ogled trenutnega stanja uvajanj Kubernetes in prejemanje priporočil za izboljšave. Zagotavlja popoln pregled gruče in rezultate razčleni po kategoriji, imenskem prostoru in uvedbi.

Polaris je bil uveden za ohranjanje zdravih gruč Kubernetes

Privzeti standardi, ki jih je postavil Polaris, so precej visoki, zato ne bodite presenečeni, če bo rezultat nižji od pričakovanega. Glavni cilj Polarisa je postaviti visoke standarde in si prizadevati za odlično privzeto konfiguracijo. Če se predlagana konfiguracija zdi preveč toga, jo je mogoče popraviti med postopkom konfiguracije uvajanja in optimizirati za posebne delovne obremenitve.

V okviru publikacije Polaris smo se odločili ne le predstaviti samo orodje, ampak tudi podrobno opisati teste, ki so vanj vključeni. Vsak pregled vključuje povezavo do ustrezne dokumentacije, ki pojasnjuje, zakaj menimo, da je pomemben, in povezave do dodatnih virov o temi.

Polaris Webhook

Če vam nadzorna plošča pomaga pridobiti pregled nad trenutno konfiguracijo razmestitev, potem webhook uveljavi standarde za vse uvedbe, ki bodo uvedene samo v gručo.

Ko so težave, ki jih je ugotovila nadzorna plošča, odpravljene, je mogoče uporabiti webhook za zagotovitev, da konfiguracija nikoli več ne pade pod uveljavljen standard. Webhook ne bo dovolil uvajanja uvedb v gruči, katerih konfiguracija vsebuje znatna odstopanja (stopnje »napake«).

Potencial tega webhooka je spodbuden, vendar še vedno potrebuje obsežno testiranje, da se šteje, da je pripravljen za proizvodnjo. Trenutno je eksperimentalna funkcija in del povsem novega odprtokodnega projekta. Ker lahko moti posodobitve uvajanja, ga uporabljajte previdno.

Začetek

Upam, da je Polaris orodje, ki bi se vam lahko zdelo koristno, medtem ko še berete to obvestilo. Želite sami preizkusiti nadzorno ploščo? Namestitev plošče v gruči je zelo enostavna. Nameščen je z minimalnimi pravicami (samo za branje), vsi podatki pa ostanejo notri. Če želite razmestiti nadzorno ploščo s kubectl, zaženite:

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

Zdaj morate nastaviti posredovanje vrat za dostop do nadzorne plošče prek lokalnih vrat 8080:

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

Seveda obstaja veliko drugih načinov za uporabo in namestitev Polarisa, vključno s Helmom. O tem in še veliko več se lahko naučite iz Repozitorij Polaris na GitHubu.

To je šele začetek

Zadovoljni smo s tem, kar smo že vgradili v Polaris, a zgodba se tu ne konča. Na poti je veliko novih testov, ki bi jih rad dodal za razširitev funkcionalnosti. Iščemo tudi boljši način za implementacijo pravil preverjanja izjem na ravni imenskega prostora ali vira. Za več informacij o naših načrtih glejte zemljevid poti.

Če menite, da je Polaris lahko uporaben, si vzemite čas in ga preizkusite. Veseli bomo kakršnih koli idej, povratnih informacij, vprašanj ali prošenj za vleko. Kontaktirate nas lahko na stran projektaV GitHub ali Twitter.

PS od prevajalca

Preberite tudi na našem blogu:

Vir: www.habr.com

Dodaj komentar