11 nástrojů, které zlepšují Kubernetes

11 nástrojů, které zlepšují Kubernetes

Ne všechny serverové platformy, dokonce i ty nejvýkonnější a škálovatelné, splňují všechny požadavky, jak jsou. I když Kubernetes funguje skvěle sám o sobě, může mu chybět potřebné součásti pro úplnost. Vždy najdete případ, který ignoruje vaši potřebu, nebo ve kterém Kubernetes nebude fungovat při výchozím nastavení — například podpora databází nebo provoz CD.

A zde se objevují doplňky, rozšíření a další vychytávky pro tohoto orchestru kontejnerů, podporované širokým společenstvím. V tomto článku se podíváme na 11 nejlepších věcí, které jsme našli. Nám samotným jsou Southbridge velmi zajímavé a plánujeme se s nimi podívat prakticky — rozebrat je na součástky a zjistit, co je uvnitř. Některé z nich skvěle doplní jakýkoli cluster Kubernetes, jiné pomohou vyřešit specifické úkoly, které nejsou realizovány v standardním dodání Kubernetes.

Gatekeeper: správa politik

Projekt Open Policy Agent (OPA) poskytuje možnost vytvářet politiky nad cloudovými stacky aplikací v Kubernetes, počínaje ingress a konče service mesh. Gatekeeper dává nativní možnost Kubernetes pro automatické vynucování politik v clusteru, stejně jako poskytuje kontrolu jakýchkoli událostí nebo zdrojů, které porušují politiku. To vše je zpracováváno pomocí relativně nového mechanismu Kubernetes, správce přístupu Webhooks, který se spouští při změně zdrojů. S pomocí Gatekeeper se politiky OPA stávají další součástí stavu vašeho clusteru Kubernetes, aniž by potřebovaly konstantní dohled.

Gravity: Přenosné clustery Kubernetes

Pokud chcete nasadit aplikaci v Kubernetes, mnoho aplikací má Helm chart, který usměrňuje a automatizuje tento proces. Ale co když chcete vzít svůj cluster Kubernetes „jak je“ a nasadit ho někde jinde?

Gravity provádí snímky stavu clusterů Kubernetes, jejich registry pro obrazy kontejnerů a také spuštěné aplikace, nazývané „balíčky aplikací“. Tento balíček, představující běžný soubor .tar, může replikovat cluster kdekoli, kde může Kubernetes fungovat.

Gravity také zajišťuje, že cílová infrastruktura se chová stejně jako původní, a že prostředí Kubernetes na cílové straně je přístupné. Placená verze Gravity také přidává bezpečnostní funkce, včetně RBAC a schopnosti synchronizovat bezpečnostní nastavení mezi různými nasazením klastrů.

Poslední hlavní verze, Gravity 7, může nasadit obraz Gravity do existujícího klastru Kubernetes, místo vytváření zcela nového klastru z obrazu. Gravity 7 také může pracovat s klastry, které byly nainstalovány bez použití obrazu Gravity. Gravity také podporuje SELinux a nativně pracuje se SSH bránou Teleport.

Kaniko: Sestavení kontejnerů v klastru Kubernetes

Většina obrazů kontejnerů je vytvářena na systémech mimo kontejnery. Nicméně někdy je třeba sestavit obraz uvnitř kontejnery, jako například v běžícím kontejneru, nebo v klastru Kubernetes.

Kaniko provádí sestavení kontejnerů uvnitř kontejnerového prostředí, ale bez závislosti na kontejnerových službách, jako je Docker. Místo toho Kaniko extrahuje souborový systém z základního obrazu, provádí všechny příkazy sestavení v uživatelském prostoru nad extrahovaným souborovým systémem, a pořizuje snímek souborového systému po každém příkazu.

Poznámka: Kaniko v současnosti (květen 2020, pozn. překladatele) nemůže sestavit kontejnery pro Windows.

Kubecost: Možnosti nákladů pro spuštění Kubernetes

Většina nástrojů pro správu Kubernetes je zaměřena na snadnost použití, monitorování, pochopení chování uvnitř pod, atd. Ale co pozorování nákladů - v korunách a haléřích - spojených se spuštěním Kubernetes?

Kubecost zpracovává možnosti Kubernetes v reálném čase, což vede k informacím o aktuálních nákladech z běžících klastrů u hlavních poskytovatelů облаčných služeb, zobrazených na panelu s měsíčními náklady každého klastru. Ceny za operační paměť, procesorový čas, GPU a diskový subsystém jsou rozděleny podle komponentů Kubernetes (kontejner, pod, služba, atd.)

Kubecost také sleduje náklady na externí zdroje, jako jsou Amazon S3 buckets, přestože je to omezeno na AWS. Údaje o nákladech lze odeslat do Promethea, takže je můžete použít ke změně chování klastru programově.

Kubecost je zdarma k použití, pokud vám stačí data v protokolech za 15 dní. Pro další funkce ceny začínají od 199$ měsíčně za monitorování 50 uzlů.

KubeDB: Spuštění produkčních databází v Kubernetes

Databáze je také poměrně obtížné spouštět efektivně v Kubernetes. Najdete operátory Kubernetes pro MySQL, PostgreSQL, MongoDB a Redis, ale každý z nich má nedostatky. Standardní soubor funkcí Kubernetes také většinou nedokáže přímo vyřešit specifické problémy s databázemi.

KubeDB vám pomůže vytvořit vlastní operátory Kubernetes pro správu databází. Spuštění zálohování, klonování, monitorování, vytváření snímků a deklarativní vytváření databází jsou jeho součástmi. Všimněte si, že podpora funkcí závisí na databázi. Například vytvoření clusteru funguje pro PostgreSQL, ale ne pro MySQL (již existuje, jak správně podotkl dnbstd, pozn. překladatele).

Kube-monkey: Chaos Monkey pro Kubernetes

Nejspolehlivější způsob stresového testování je považován za náhodné selhání. Tato teorie je základem Chaos Monkey od Netflixu, chaotického inženýrského nástroje, který náhodně vypíná virtuální stroje a kontejnery v produkčním prostředí, aby "podnítil" vývojáře k vytváření robustnějších systémů. Kube-monkey – je implementací této základní teorie stresového testování pro Kubernetes clustery. Funguje tak, že náhodně zabíjí moduly ve clusteru, které určíte, a také může být nastaven na provoz v určitém časovém intervalu.

Kubernetes Ingress Controller pro AWS

Kubernetes poskytuje externí vyvažovač zatížení a síťové služby clusteru prostřednictvím služby zvané Ingress AWS poskytuje funkce pro vyvažování zatížení, ale automaticky je nespojuje s podobnými funkcemi Kubernetes. Kubernetes Ingress Controller pro AWS vyplňuje tuto mezeru.

Automaticky spravuje zdroje AWS pro každý objekt ingress v clusteru, vytváří vyvažovače zatížení pro nové ingress zdroje a odstraňuje vyvažovače při odstraňování zdrojů. Používá CloudFormation, aby zajistil, že stav clusteru zůstává celistvý. Také podporuje nastavení CloudWatch Alarm a automaticky spravuje další prvky používané v clusteru, jako jsou certifikáty SSL a EC2 Auto Scaling Groups.

Kubespray: Automatická instalace Kubernetes

Kubespray automatizuje instalaci plně funkčního Kubernetes clusteru, počínaje instalací na fyzických serverech a konče hlavními veřejnými cloudy. Používá Ansible (Vagrant jako doplněk) k spuštění nasazení a vytvoření vysoce dostupného clusteru od nuly se zvoleným síťovým doplňkem (například Flannel, Calico a další) na zvoleném populárním linuxovém distribuci při instalaci na fyzických serverech.

Skaffold: Iterativní vývoj pro Kubernetes

Skaffold — jeden z nástrojů Google, používaný k organizaci CD aplikací v Kubernetes. Jakmile provedete změny v zdrojovém kódu, skaffold to automaticky zjistí, spustí sestavení a nasazení a upozorní vás, pokud dojde k nějakým chybám. Skaffold běží zcela na straně klienta, takže mohou být menší nuance s instalací nebo aktualizací. Může být používán s existujícími CICD pipeline, a také interagovat s některými externími nástroji pro sestavení, zejména s Bazelem od Google.

Teresa: Nejjednodušší PaaS na Kubernetes

Teresa je systém nasazování aplikací, který spouští nejjednodušší PaaS na vrcholu Kubernetes. Uživatelé, rozděleni do týmů, mohou nasazovat a spravovat své aplikace. To značně usnadňuje práci lidem, kteří důvěřují této aplikaci a nechtějí se zaobírat Kubernetes a všemi jeho složitostmi.

Tilt: Streamování aktualizací kontejnerů do clusteru Kubernetes

Tilt, vyvinutý Windmill Engineering, sleduje změny různých souborů Dockerfile a pak postupně nasazuje odpovídající kontejnery do clusteru Kubernetes. V podstatě umožňuje aktualizaci produkčního clusteru v reálném čase jednoduše aktualizací souborů Dockerfile. Tilt provádí sestavení uvnitř clusteru, zdrojový kód — vše, co je potřeba měnit. Můžete také pořídit snímek stavu clusteru a zafixovat podmínky spuštění chyb přímo z Tiltu, abyste je mohli sdílet s členy týmu pro ladění.

P.S. Všechny tyto nástroje jsme opakovaně vyzkoušeli našimi zvědavými rukama. Abychom předvedli skutečné praktiky již (doufám!) na offline intenzivech v únoru. Southbridge 8–10 února 2021. A Základy Kubernetes 8–10 února 2021. A Mega Kubernetes 12. – 14. února. Upřímně, i my jsme se těšili na teplou a energeticky nabitou atmosféru offline školení. Ať jsou technologie jakékoli pokročilé, nenahradí živou lidskou interakci a jedinečnou atmosféru, když se setkávají lidé se stejnými zájmy.

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