11 nástrojov, ktoré zlepšujú Kubernetes

11 nástrojov, ktoré zlepšujú Kubernetes

Nie všetky serverové platformy, aj tie najvýkonnejšie a najškálovateľnejšie, spĺňajú všetky potreby tak, ako sú. Hoci Kubernetes funguje skvele sám o sebe, môže mu chýbať potrebná súčasť na dosiahnutie úplnosti. Vždy nájdete špecifický prípad, ktorý ignoruje vašu potrebu, alebo situáciu, v ktorej Kubernetes nefunguje pri predvolenej inštalácii — napríklad podpora databáz alebo fungovanie CDN.

A práve tu prichádzajú na scénu doplnky, rozšírenia a iné vychytávky pre tento orchestrátor kontajnerov, podporované širokým spoločenstvom. V tomto článku sa pozrieme na 11 najlepších vecí, ktoré sme našli. Nám osobne sú Southbridge veľmi zaujímavé a plánujeme sa s nimi podrobne oboznámiť — rozobrať ich na drobné súčiastky a pozrieť sa, čo je vo vnútri. Niektoré z nich výborne doplnia akýkoľvek klaster Kubernetes, iné zase pomôžu vyriešiť konkrétne úlohy, ktoré nie sú realizované v typickej dodávke Kubernetes.

Gatekeeper: správa politík

Projekt Open Policy Agent (OPA) poskytuje možnosť vytvárať politiky nad cloudovými aplikačnými stromami v Kubernetes, od ingress po service mesh. Gatekeeper ponúka natívnu možnosť pre Kubernetes automaticky vynucovať politiky v klastri a poskytuje kontrolu akýchkoľvek udalostí alebo zdrojov, ktoré porušujú politiku. To všetko je riadené relatívne novým mechanizmom Kubernetes, správcom prístupu Webhooks, ktorý sa spúšťa pri zmene zdrojov. S Gatekeeperom sa politiky OPA stávajú ďalšou súčasťou stavu vášho klastra Kubernetes bez potreby neustáleho dohľadu.

Gravity: Prenášateľné klastry Kubernetes

Ak chcete nasadiť aplikáciu v Kubernetes, mnohé aplikácie majú Helm chart, ktorý usmerňuje a automatizuje tento proces. Ale čo ak by ste chceli vziať svoj klaster Kubernetes 'tak, ako je' a nasadiť ho niekde inde?

Gravity vytvára snímky stavu klastrov Kubernetes, ich registry pre obrazy kontajnerov a tiež spustené aplikácie, nazývané 'balíčky aplikácií'. Takýto balíček, predstavujúci obyčajný súbor .tar, môže replikovať klaster kdekoľvek, kde môže Kubernetes fungovať.

Gravity tiež overuje, či cieľová infraštruktúra funguje rovnako ako pôvodná a že prostredie Kubernetes na cieľovej strane je dostupné. Platená verzia Gravity tiež pridáva funkcie bezpečnosti, vrátane RBAC a možnosti synchronizácie bezpečnostných nastavení naprieč rôznymi nasadeniami klastrov.

Najnovšia hlavná verzia, Gravity 7, môže nasadiť obraz Gravity do existujúceho klastru Kubernetes, namiesto vytvárania úplne nového klastru z obrazu. Gravity 7 môže tiež pracovať s klastrami, ktoré boli nainštalované bez použitia obrazu Gravity. Taktiež Gravity podporuje SELinux a nativne funguje so zariadením Teleport SSH.

Kaniko: Skladanie kontajnerov v klastri Kubernetes

Väčšina obrazov kontajnerov sa skladá na systémach mimo kontajnerového stacku. Avšak niekedy je potrebné zložiť obraz v rámci kontajnerového stacku, napríklad niekde v bežiacom kontajneri alebo v klastri Kubernetes.

Kaniko vykonáva skladanie kontajnerov vo vnútri kontajnerového prostredia, ale bez závislosti na prevádzke služby kontajnerizácie, ako je Docker. Namiesto toho Kaniko extrahuje súborový systém z základného obrazu, vykonáva všetky príkazy skladania v priestore používateľa nad extrahovaným súborovým systémom a vytvára snímku súborového systému po každom príkaze.

Poznámka: Kaniko v súčasnosti (máj 2020) pozn. prekladateľa) nemôže skladať Windows kontajnery.

Kubecost: Možnosti nákladov na spustenie Kubernetes

Väčšina administratívnych nástrojov Kubernetes je zameraná na jednoduché použitie, monitorovanie, pochopenie správania vo vnútri podu atď. Ale čo pozorovanie nákladov — v rubľoch a kopejkách — spojených so spustením Kubernetes?

Kubecost spracováva parametre Kubernetes v reálnom čase, čo vedie k získaniu informácií o aktuálnych nákladoch z bežiacich klastrov od hlavných poskytovateľov cloudových služieb, ktoré sú zobrazené na paneli s mesačnými nákladmi pre každý klaster. Ceny za operačnú pamäť, procesorový čas, GPU a diskový subsystém sú rozdelené podľa komponentov Kubernetes (kontajner, pod, služba atď.)

Kubecost tiež sleduje náklady na externé zdroje, ako sú Amazon S3 buckets, hoci je to obmedzené na AWS. Údaje o nákladoch môžu byť odoslané do Prometheus, takže ich môžete použiť na programovú zmenu správania klastru.

Kubecost je bezplatný na používanie, ak vám postačujú údaje v protokoloch za 15 dní. Pre rozšírené funkcie ceny začínajú od 199$ mesačne za monitorovanie 50 uzlov.

KubeDB: Spúšťanie produkčných databáz v Kubernetes

Databázy sú tiež dosť zložité na efektívne spúšťanie v Kubernetes. Nájdete Kubernetes operátory pre MySQL, PostgreSQL, MongoDB a Redis, ale všetky majú svoje nedostatky. Typová sada funkcií Kubernetes tiež nedokáže priamo vyriešiť väčšinu špecifických problémov s databázami.

KubeDB pomáha vám vytvoriť vlastné Kubernetes operátory na správu databáz. Spustenie zálohovania, klonovanie, monitorovanie, vytváranie snímkov a deklaratívne vytváranie databáz sú jeho súčasťou. Berte na vedomie, že podpora funkcií závisí od databázy. Napríklad, vytváranie klátra funguje pre PostgreSQL, ale nie pre MySQL (musí byť zásobník. Ale „my praktikanti: u nás všetko funguje, ale nikto nevie prečo…“ sú, ako správne podotkol dnbstd, pozn. prekladateľa).

Kube-monkey: Chaos Monkey pre Kubernetes

Najspoľahlivejší spôsob stresového testovania sú náhodné poruchy. Táto teória je základom Chaos Monkey od Netflixu, chaotického inžinierskeho nástroja, ktorý náhodne vypína virtuálne stroje a kontajnery v produkčnom prostredí, aby "stimuloval" vývojárov vytvárať odolnejšie systémy. Kube-monkey — je implementácia tej istej základnej teórie stresového testovania pre klastre Kubernetes. Funguje tak, že náhodne zabíja moduly vo vašom zhluku, ktoré určíte, a môže byť nastavený na prácu v určitých časových intervaloch.

Kubernetes Ingress Controller pre AWS

Kubernetes poskytuje externý vyvažovač záťaže a sieťové služby klastra prostredníctvom služby nazývanej Ingress AWS ponúka funkcie vyvažovania záťaže, ale automaticky ich nespojuje s rovnakými možnosťami Kubernetes. Kubernetes Ingress Controller pre AWS uzatvára tento nedostatok.

Automaticky spravuje zdroje AWS pre každý objekt ingress v klastri, vytvára vyvažovače záťaže pre nové zdroje ingress a odstraňuje vyvažovače pri odstraňovaní zdrojov. Používa CloudFormation, aby zabezpečil, že stav klastra zostáva celistvý. Tiež podporuje nastavenia CloudWatch Alarm a automaticky spravuje ďalšie prvky používané v klastri, ako sú certifikáty SSL a EC2 Auto Scaling Groups.

Kubespray: Automatická inštalácia Kubernetes

Kubespray automatizuje inštaláciu hotového na priemyselné využitie Kubernetes klastra, začínajúc inštaláciou na "hardvéri" a končiac základnými verejnými cloudmi. Používa Ansible (Vagrant - navyše) na spustenie nasadenia a vytvorenie vysoko dostupného klastra od nuly s vybraným sieťovým doplnkom (napríklad Flannel, Calico a ďalšie) na vybranom populárnom distribúte Linux pri inštalácii na "hardvér".

Skaffold: Iteratívny vývoj pre Kubernetes

Skaffold — jeden z nástrojov Google, ktorý sa používa na organizáciu CD aplikácií v Kubernetes. Akonáhle vykonáte zmeny v zdrojovom kóde, skaffold to automaticky zistí, spustí zostavenie a nasadenie a upozorní vás, ak sú nejaké chyby. Skaffold sa spúšťa úplne na strane klienta, takže môžu byť drobné nuansy s inštaláciou alebo aktualizáciou. Môže sa používať s existujúcimi CICD pipeline a tiež interagovať s niektorými externými nástrojmi na zostavovanie, najmä s Bazel od Googlu.

Teresa: Najjednoduchší PaaS na Kubernetes

Teresa je systém nasadenia aplikácií, ktorý spúšťa najjednoduchší PaaS nad Kubernetes. Používatelia rozdelení do tímov môžu nasadzovať a spravovať aplikácie, ktoré im patria. To trochu uľahčuje prácu ľuďom, ktorí dôverujú tejto aplikácii a nechcú sa zaoberať Kubernetes a všetkými jeho zložitostiami.

Tilt: Streamovanie aktualizácií kontajnerov do klastra Kubernetes

Tilt, vyvinutý Windmill Engineering, sleduje zmeny rôznych súborov Dockerfile a potom postupne nasadzuje príslušné kontajnery do klastra Kubernetes. V podstate umožňuje aktualizáciu produkčného klastru v reálnom čase jednoduchým aktualizovaním súborov Dockerfile. Tilt vykonáva zostavenie v rámci klastru, zdrojový kód - všetko, čo treba meniť. Môžete tiež vytvoriť snímku stavu klastru a zaznamenať podmienky spúšťania chýb priamo z Tilt, aby ste ich zdieľali s členmi tímu na ladenie.

P.S. Všetky tieto nástroje sme už mnohokrát v Southbridge prehmatali našimi zvedavými rukami. Aby sme predstavili reálne praktiky už (dúfam!) na offline intenzívoch v februári. Základy Kubernetes 8–10 februára 2021. A Mega Kubernetes 12.–14. februára. Úprimne, aj nám chýba teplá a energická atmosféra offline vzdelávania. Nech sú technológie akokoľvek pokročilé, nenahradia živé ľudské stretávanie a zvláštnu atmosféru, keď sa stretnú zhodní záujemcovia.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster