Byl představen Polaris k udržení Kubernetes clusterů v dobrém stavu

Pozn. přek.: Originální text napsal Rob Scott — vedoucí SRE inženýr společnosti ReactiveOps, která stojí za vývojem avizovaného projektu. Myšlenka centralizované validace toho, co se nasazuje do Kubernetes, je nám velmi blízká, a proto s velkým zájmem sledujeme podobné iniciativy.

Byl představen Polaris k udržení Kubernetes clusterů v dobrém stavu

S radostí představujeme Polaris — projekt s otevřeným zdrojovým kódem, který pomáhá udržovat „zdraví“ klastru Kubernetes. Vytvořili jsme Polaris k automatizaci některých z nejlepších praktik, které ReactiveOps používá pro zajištění bezpečného a spolehlivého provozu klastrů pro velké množství zákazníků. Nastal čas uvolnit zdrojový kód.

Znovu a znovu jsme byli svědky toho, jak se zdánlivě malé chyby v konfiguraci proměnily ve vážné problémy, které inženýrům bránily klidně spát. Něco zdánlivě jednoduchého — jako například zapomenutá konfigurace požadavků na zdroje (resource requests) — mohlo zničit automatické škálování a dokonce způsobit, že pracovní zátěže zůstaly bez zdrojů. Pokud dříve drobné chyby v konfiguraci vedly k výpadkům v produkci, nyní Polaris tyto problémy dokáže zcela zabránit.

Polaris pomáhá vyhnout se problémům s konfigurací, které ovlivňují stabilitu, spolehlivost, škálovatelnost a bezpečnost vašich aplikací. Umožňuje snadno odhalit nedostatky v konfiguraci nasazení a předcházet budoucím problémům. S Polarisem můžete klidně spát, protože víte, že aplikace jsou nasazeny podle sady dobře prověřených standardů.

Polaris se skládá ze dvou klíčových komponentů:

  1. monitorovacího panelu, který poskytuje informace o tom, jak je správně nakonfigurováno stávající nasazení v klastru;
  2. experimentálního kontrolního webhooku, který zabraňuje nasazení, která nevyhovují přijatému standardu.

Polaris Dashboard

Panel v Polaris byl vytvořen pro jednoduchou a přehlednou možnost vidět aktuální stav nasazení v Kubernetes a získat doporučení pro zlepšení. Poskytuje kompletní přehled o klastru a rozděluje výsledky podle kategorií, prostorů názvů a nasazení.

Byl představen Polaris k udržení Kubernetes clusterů v dobrém stavu

Standardy nastavené v Polariu jsou dostatečně vysoké, takže se nedivte, pokud hodnocení bude nižší, než jste očekávali. Hlavním cílem Polaria je stanovovat vysoké standardy a usilovat o vynikající výchozí konfiguraci. Pokud se navrhovaná konfigurace zdá být příliš přísná, lze ji modifikovat během procesu konfigurace nasazení, optimalizováním pro konkrétní pracovní zátěže.

V rámci vydání Polaria jsme se rozhodli nejen představit samotný nástroj, ale i podrobně popsat testy, které jsou do něj zahrnuty. Každá kontrola obsahuje odkaz na příslušnou dokumentaci, kde je vysvětleno, proč to považujeme za důležité, a uvádíme odkazy na další zdroje na toto téma.

Polaris Webhook

Pokud panel monitorování pomáhá získat přehled o aktuální konfiguraci nasazení, pak webhook zajišťuje dodržování standardů pro všechna nasazení, která budou nasazena do cloudu.

Jakmile budou odstraněny problémy, které odhalil monitorovací panel, můžete využít webhook k zajištění toho, že konfigurace nikdy nespadne pod stanovený standard. Webhook nedovolí nasadit v cloudu nasazení, jejichž konfigurace obsahuje zásadní odchylky (úroveň „error“).

Potenciál tohoto webhooku je povzbudivý, avšak k tomu, aby byl považován za připravený pro provoz, bude ještě třeba důkladné testování. V tuto chvíli je to experimentální funkce a součást zcela nového projektu Open Source. Protože může bránit aktualizaci nasazení, používejte ho s opatrností.

Začínáme

Doufám, že pokud stále čtete tento oznámení, Polaris je nástroj, který se vám může hodit. Chcete si vyzkoušet Dashboard sami? Nasadit panel do cloudu je velmi snadné. Instaluje se s minimálními právy (pouze pro čtení) a všechna data zůstávají uvnitř. Chcete-li nasadit Dashboard pomocí kubectl, proveďte:

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

Nyní je potřeba nastavit přesměrování portů, abyste mohli přistupovat k Dashboardu přes místní port 8080:

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

Samozřejmě existuje mnoho dalších způsobů, jak používat a nasazovat Polaris, včetně pomocí Helmu. O tom a mnohém dalším se můžete dozvědět z repo Polaris na GitHubu.

To je jen začátek

Jsme rádi, že jsme již dokázali integrovat do Polaris, ale tím příběh nekončí. Přichází množství nových testů, které bychom rádi přidali pro rozšíření funkcionality. Také hledáme nejlepší způsob implementace pravidel pro kontrolu výjimek na úrovni prostorů názvů nebo zdrojů. Pokud chcete získat další informace o našich plánech, podívejte se na vývojovou mapu.

Pokud máte dojem, že by Polaris mohl být užitečný — prosím, najděte si čas na jeho vyzkoušení. Rádi přijmeme jakékoli nápady, zpětnou vazbu, otázky nebo pull requesty. Kontaktovat nás můžete na stránkách projektu, v GitHub nebo na Twitter.

P.S. od překladatele

Přečtěte si také náš blog:

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster