11 eszköz, ami jobbá teszi a Kubernetes-t

11 eszköz, ami jobbá teszi a Kubernetes-t

Messze nem minden szerverplatform, még a legnagyobb és legskálázhatóbbak sem elégítik ki az igényeket. Bár a Kubernetes önállóan jól működik, lehet, hogy hiányzik neki a szükséges komponensek egyensúlyához. Mindig talál egy specifikus esetet, amely figyelmen kívül hagyja a szükségleteidet, vagy amikor a Kubernetes alapértelmezett telepítésével nem működik — például adatbázis-támogatás vagy CDN működés.

Itt jönnek a kiegészítők, elágazások és egyéb finomságok ennek a konténerorchestrátornak a támogatására, amelyet a legszélesebb közösség támogat. Ebben a cikkben a 11 legjobbat mutatjuk be, amit találtunk. Magunk is Southbridge nagyon is érdekesnek találjuk őket, és szeretnénk gyakorlatiasan — kis csavarokra és anyákra szétszedni és megnézni, hogy mi van belül. Egyesek remekül kiegészítik a Kubernetes klasztert, míg mások segítenek megoldani specifikus feladatokat, amelyek nem valósulnak meg a Kubernetes alapértelmezett szállításában.

Gatekeeper: irányítás politikák felett

Projekt TL;DR: Osztja el a terhelést a szolgáltatás példányai között egy meghatározott mintának megfelelően. (OPA) lehetőséget biztosít politikák létrehozására a Kubernetes alkalmazásfelhő-artefaktusai felett, kezdve az ingress-től egészen a service mesh-ig. Gatekeeper natív lehetőséget biztosít a Kubernetes-hez, hogy automatikusan alkalmazza a politikákat a klaszterben, valamint ellenőrzi a politikát sértő eseményeket vagy erőforrásokat. Mindez a Kubernetes viszonylag új mechanizmusán keresztül történik, a Webhooks hozzáféréskezelőn keresztül, amely a források változásakor lép működésbe. A Gatekeeper segítségével az OPA politikák a Kubernetes klasztered állapotának részévé válnak, anélkül, hogy folyamatos felügyeletre lenne szükség.

Gravity: Áthelyezhető Kubernetes klaszterek

Ha szeretnéd telepíteni az alkalmazást Kubernetes-be, sok alkalmazás rendelkezik Helm chart-tal, amely irányítja és automatizálja ezt a folyamatot. De mi a helyzet, ha szeretnéd a Kubernetes klasztered „ahogy van” telepíteni valahol máshol?

Gravity állapotképeket készít a Kubernetes klaszterekről, a konténerképek regiszteréről, valamint az elindított alkalmazásokról, amelyeket „alkalmazáscsomagoknak” neveznek. Az ilyen csomag, amely egy egyszerű fájl .tar, bármely olyan helyen replikálhatja a klasztert, ahol a Kubernetes működni tud.

A Gravity ellenőrzi azt is, hogy a célinfrastruktúra viselkedése megegyezik-e az eredetiéval, és hogy a Kubernetes környezet a céloldalon elérhető-e. A Gravity fizetős változata biztonsági funkciókat is hozzáad, beleértve az RBAC-t és a biztonsági beállítások több klaszter implementáció közötti szinkronizálásának lehetőségét.

A legutóbbi fő verzió, a Gravity 7, képes a Gravity képet egy meglévő Kubernetes klaszterre telepíteni, ahelyett, hogy egy teljesen új klasztert telepítene a képből. A Gravity 7 más képből telepített klaszterekkel is képes működni. Ezenkívül a Gravity támogatja az SELinux-ot, és natívan működik a Teleport SSH átjáróval.

Kaniko: Konténerek építése Kubernetes klaszterben

A konténerek többsége a konténerstackon kívüli rendszereken készül. Néha azonban szükséges konténert építeni a konténerstackon belül, például egy működő konténerben vagy egy Kubernetes klaszterben.

Kaniko konténereket épít a konténeres környezetben, de nem függ a konténerizáló szolgáltatástól, például a Dockertól. Ehelyett a Kaniko kinyeri a fájlrendszert az alapértelmezett képből, végrehajtja az összes építési parancsot a felhasználói térben a kinyert fájlrendszer fölött, és minden parancs után készít egy pillanatképet a fájlrendszerről.

Megjegyzés: A Kaniko jelenleg (2020 május) nem képes Windows konténereket építeni. jegyzet: fordító) nem képes Windows konténereket építeni.

Kubecost: A Kubernetes indítási költségei

A legtöbb Kubernetes adminisztrációs eszköz a használhatóságra, a megfigyelésre és a podok belső viselkedésének megértésére van kiélezve. De mi a helyzet a Kubernetes indításához kapcsolódó költségek megfigyelésével – forintban és fillérben?

Kubecost valós időben kezeli a Kubernetes paramétereket, így a fő felhőszolgáltatók által üzemeltetett klaszterekből származó aktuális költséginformációk a panelre kerülnek, havi bontásban minden klaszterre. Az operatív memória, a CPU-idő, a GPU és a tárolórendszer költségei a Kubernetes komponensei (konténer, pod, szolgáltatás stb.) szerint vannak felosztva.

A Kubecost emellett nyomon követi a klasztereken kívüli erőforrások költségeit is, például az Amazon S3 tárolókat, bár ez AWS-re korlátozódik. A költségadatokat elküldhetjük a Prometheusnak, így a klaszter viselkedését programozottan is módosíthatjuk.

A Kubecost ingyenes a használatra, ha elegendő adatod van a 15 napos naplókból. A prémium funkciók havi 199 dollártól kezdődnek 50 csomópont monitorozásához.

KubeDB: Harci adatbázisok futtatása Kubernetesben

Az adatbázisok indítása érdekelt Kubernetesben elég bonyolult. Találsz Kubernetes operátorokat MySQL, PostgreSQL, MongoDB és Redis számára, de mindegyiknek megvannak a hátrányai. A Kubernetes alapfunkciói általában nem oldanak meg közvetlenül számos specifikus adatbázis-problémát.

KubeDB segít létrehozni a saját Kubernetes operátorait az adatbázisok kezelésére. A biztonsági mentés, másolás, monitorozás, pillanatképek készítése és deklaratív adatbázis-képzés az alkotóelemei. Ne feledd, hogy a funkciók támogatása az adatbázistól függ. Például a klaszter létrehozása működik PostgreSQL esetén, de nem MySQL esetén (már van, ahogyan helyesen megjegyezted dnbstd, jegyzet: fordító).

Kube-monkey: Chaos Monkey Kuberneteshez

A stressztesztelés legmegbízhatóbb módjának a véletlenszerű leállások számítanak. Ez az elmélet áll a Netflix Chaos Monkey mögött, egy kaotikus mérnöki eszköz, amely véletlenszerűen kikapcsol virtuális gépeket és konténereket a termelési környezetben, hogy ösztönözze a fejlesztőket arra, hogy tartósabb rendszereket alkossanak. Kube-monkey — a stressztesztelés ugyanazon alapelvének megvalósítása Kubernetes klaszterekhez. Véletlenszerűen leállítja a te által megadott klaszter moduljait, és beállítható, hogy meghatározott időközönként működjön.

Kubernetes Ingress Controller AWS-hez

A Kubernetes külső terheléselosztót és klaszter hálózati szolgáltatásokat biztosít egy úgynevezett szolgáltatáson keresztül, Ingress Az AWS terheléselosztási funkciókat biztosít, de nem köti össze őket automatikusan a Kubernetes hasonló funkcióival. Kubernetes Ingress Controller AWS-hez betölti ezt az űrt.

Automatikusan kezeli az AWS erőforrásokat minden ingress objektum számára a klaszterben, létrehozva a terheléselosztókat az új ingress erőforrásokhoz, és eltávolítja a terheléselosztókat az erőforrások törlésekor. A CloudFormation-t használja annak biztosítására, hogy a klaszter állapota érintetlen maradjon. Továbbá támogatja a CloudWatch Alarm beállításokat és automatikusan kezeli a klaszterben használt egyéb elemeket, például az SSL tanúsítványokat és az EC2 Auto Scaling Groups-t.

Kubespray: Kubernetes automatikus telepítése

Kubespray automatizálja a kész, ipari használatra kész Kubernetes klaszter telepítését, kezdve a 'fém' szerverek telepítésével, egészen a legfontosabb nyilvános felhőkig. Az Ansible-t (Vagrant — kiegészítőként) használja a telepítés elindításához és a választott hálózati bővítménnyel (például Flannel, Calico és mások) rendelkező, nagy rendelkezésre állású klaszter létrehozásához a kiválasztott népszerű Linux disztribúción a 'fém' szerverekre történő telepítéskor.

Skaffold: Iteratív fejlesztés Kuberneteshez

Skaffold — az egyik Google-eszköz, amelyet a Kubernetes alkalmazások folyamatos integrációjának (CI) szervezésére alkalmaznak. Amint módosítja a forrást, a skaffold automatikusan érzékeli ezt, elindítja a build és a telepítési folyamatokat, és figyelmezteti Önt, ha bármilyen hiba merül fel. A skaffold teljesen a kliens oldalán fut, így némi finomhangolásra lehet szükség a telepítés vagy frissítés során. Használható meglévő CI/CD folyamatokkal, és kölcsönhatásba léphet néhány külső build eszközzel, főként a Google Bazel-jával.

Teresa: Egyszerű PaaS Kubernetesen

Teresa ez egy alkalmazástelepítő rendszer, amely az egyszerűsített PaaS-t a Kubernetes fölé helyezi. A csapatokra bontott felhasználók telepíthetik és kezelhetik a saját alkalmazásaikat. Ez egy kicsit megkönnyíti a munkát azoknak, akik bíznak ebben az alkalmazásban, és nem akarnak foglalkozni a Kubernetes-szel és annak összetettségével.

Tilt: Folyamatos konténerfrissítések küldése Kubernetes klaszterbe

Tilt, a Windmill Engineering által fejlesztett eszköz, figyeli a különböző Dockerfile fájlok változásait, majd fokozatosan telepíti a megfelelő konténereket a Kubernetes klaszterbe. Gyakorlatilag lehetővé teszi a termelési klaszter valós idejű frissítését a Dockerfile fájlok egyszerű frissítésével. A Tilt a klaszterben végzi a build folyamatot, a forráskód — mindaz, amit módosítani kell. Állapotfelvételt is készíthet a klaszter állapotáról, és rögzítheti a hiba aktiválásának körülményeit közvetlenül a Tiltből, hogy megossza azokat a csapattagokkal a hibakereséshez.

P.S. Mindezeket az eszközöket többször is Southbridge vizsgáltuk kíváncsi kezeinkkel. Hogy valós gyakorlatokat mutassunk be már (remélem!) offline intenzívek során februárban. Kubernetes Alapok 2021. február 8–10. És Kubernetes Mega Február 12-14. Őszintén szólva, mi is vágyunk a meleg és energetikailag feltöltő offline tanulás légkörére. Bármennyire is fejlettek a technológiák, nem pótolják az élő emberi kommunikációt és azt a különleges légkört, amikor az azonos érdeklődésű emberek összegyűlnek.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster