
A rendszer teljes körű működéséhez fontos a parancssori segédprogramok ismerete: Kubernetes esetében ez a kubectl. Másrészt, a jól megtervezett, átgondolt grafikus felhasználói felületek el tudják végezni a szokásos feladatok nagy részét és további lehetőségeket nyithatnak meg a rendszerek üzemeltetése során.óA múlt évben kiadtuk a webes felület rövid áttekintésének fordítását,
mely a Kubernetes webes interfész bejelentéséhez kapcsolódott, A cikk szerzője és a program fejlesztője, Henning Jacobs a Zalando-tól, éppen úgy pozicionálta az újdonságot, mint "kubectl a weben". Olyan eszközt szeretett volna létrehozni, amely lehetővé teszi a technikai támogatás formátumában történő kényelmes interakciót (például gyorsan bemutatni a problémát egy web-linken keresztül) és reagálni aincidensekre, miközben több klaszterben egyszerre keres problémákat. Műve folyamatosan fejlődik (főként a szerző erőfeszítései révén). a felhasználói jogok (RBAC) elhatárolásának támogatása;
a Kubernetes névkörök és alapvető primitívek (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC) állapotának vizualizálása;
- a parancssorhoz való hozzáférés a pod-on belül;
- a pod-ok naplóinak megtekintése;
- a pod-ok állapotának megtekintése (
- status leírás
- pod-ok törlése.
Olyan további funkciók, mint a fogyasztott erőforrások (pod-ok/vezérlők/névterek bontásában) megtekintése, K8s primitívek létrehozása/szerkesztése, nem relevánsak a munkafolyamatunk keretein belül.); - Az áttekintést a klasszikus Kubernetes Dashboard-dal kezdjük, melyet nálunk standardként fogadtak el. Mivel a világ nem áll meg (ezért a Kuberneteshez új GUI-k folyamatosan érkeznek), bemutatjuk ezek aktuális alternatíváit is, mindezt egy összehasonlító táblázatba tömörítve a cikk végén.
: Az áttekintés során nem fogunk ismételni a már tárgyalt megoldásokkal kapcsolatban, azonban - a teljesség kedvéért - a releváns opciók (K8Dash, Octant, Kubernetes Web View) bekerülnek a végső táblázatba.
1. Kubernetes Dashboard
NBDokumentáció oldal (8000+ GitHub csillag);
Licenc: Apache 2.0;
- ;
- (8000+ GitHub csillag);
- Licenc: Apache 2.0;
- Röviden: „Univerzális webes felhasználói felület Kubernetes klaszterekhez. Lehetővé teszi a felhasználók számára, hogy kezeljék a klaszterben futó alkalmazásokat és elhárítsák azok hibáit, valamint kezeljék magát a klasztert.”

Ez egy általános célú panel, amelyet a Kubernetes szerzői az hivatalos dokumentációban tárgyalnak. (bár nem alapértelmezés szerint). A mindennapi üzemeltetés és a klaszterben futó alkalmazások hibakeresése céljából készült. Nálunk teljes értékű, könnyű vizuális eszközként használjuk, amely biztosítja a fejlesztők számára a szükséges és elegendő hozzáférést a klaszterhez. Funkciói lefedik minden igényüket, amely a klaszter használata során merül fel. (a Néhány funkciót bemutattunk a panelből). Ahogy könnyen kitalálható, ez azt jelenti, hogy megfelel minden fent említett követelményünknek.
A Kubernetes Panel főbb lehetőségei:
- Navigálás: a K8s alapvető objektumainak megtekintése névtartományok szerint.
- Adminisztrátori jogokkal a panel megmutatja a csomópontokat, névtartományokat és Persistent Volumes-t. A csomópontoknál elérhető statisztikák a memória- és CPU-használatról, az erőforrások kiosztásáról, metrikákról, állapotokról, eseményekről stb.
- Az adott névtartományban telepített alkalmazások megtekintése típusuk szerint (Deployment, StatefulSet stb.), köztük lévő kapcsolatok (ReplicaSet, Horizontal Pod Autoscaler), összesített és egyéni statisztikák és információk.
- Szolgáltatások és Ingress-ek megtekintése, valamint kapcsolataik a pod-okkal és endpoint-okkal.
- Fájlobjektumok és tárolók megtekintése: Persistent Volume és Persistent Volume Claim.
- ConfigMap és Secret megtekintése és szerkesztése.
- Naplók megtekintése.
- Parancssori hozzáférés biztosítása a konténerekben.
Jelentős hátrány (bár nem számunkra) — nem támogatja a multi-cluster működést. A projektet aktívan fejleszti a közösség, és folyamatosan támogatja az új funkciókat a Kubernetes API új verzióinak és specifikációinak megjelenésével: a legfrissebb verzió a panelből — 2020. május 22-i — tesztelve a Kubernetes 1.18 kompatibilitásával.
2. Lens
- ;
- ;
- (~4800 GitHub csillag);
- Licenc: MIT;
- Röviden: „Kubernetes IDE”.

A projekt teljes értékű integrált fejlesztői környezetként (IDE) van pozicionálva a Kuberneteshez. Kifejezetten sok klaszter és azokban rengeteg futó pod kezelésére optimalizálva van (25 ezer pod-ra tesztelve).
A Lens főbb jellemzői/kapacitásai:
- Önálló alkalmazás, amely nem igényel semmiféle telepítést a klaszterben (pontosabban az összes metrika beszerzéséhez szükséges a Prometheus, de ehhez felhasználható a már meglévő telepítés is). A 'fő' telepítés pedig Linux, macOS vagy Windows operációs rendszert használó személyi számítógépre történik.
- Több klaszter kezelése (százak támogatottak).
- A klaszter állapotának valós idejű vizualizációja.
- Erőforrások felhasználásának grafikonjai és a beépített Prometheus alapú trendek történeti adatai.
- Hozzáférés a konténerek parancssorához és a klaszter csomópontjaihoz.
- Teljes támogatás a Kubernetes RBAC-hoz.
Aktuális kiadás — 2020. június 16-tól. Az eredeti verziót a Kontena vállalat készítette, és mára a szellemi tulajdon teljes mértékben átkerült egy speciális szervezethez. , amelyet 'cloud native fejek és technológák szövetsége' néven ismernek, felelős az Open Source szoftverek és a Kontena termékek 'megőrzéséért és elérhetőségéért'.
A Lens a második legnépszerűbb projekt a GitHub-on a Kubernetes GUI kategóriájában, csupán a Kubernetes Dashboardnak van nagyobb népszerűsége. Minden más CLI* nem kategóriába tartozó Open Source megoldás jelentősen alulmarad.
* Lásd a K9s-ról a felülvizsgálat bónusz részében.
3. Kubernetic
- ;
- ;
- (200+ GitHub csillag);
- Licenc: zárt forráskódú;
- Röviden: 'A klaszter kezelése egyszerűen'.

Ez egy zárt forráskódú alkalmazás, amely a személyi számítógépre telepíthető (Linux, macOS, Windows támogatott). Az alkotói teljes körű helyettesítést ígérnek a parancssori segédprogram számára, így nem szükséges megjegyezni a parancsokat, és akár tízszeresére is nőhet a munka sebessége.
Az eszköz egyik érdekes jellemzője a beépített Helm diagram támogatás, míg az egyik hátránya a teljesítménymutatók hiánya az alkalmazásokban.
A Kubernetic főbb funkciói:
- Kényelmes klaszter állapot megjelenítés. Egy képernyő, ahol az összes kapcsolódó klaszter objektum és azok függőségei megtekinthetők; piros/zöld állapotjelző az összes objektumhoz; valós idejű státusz frissítéssel rendelkező klaszter állapot nézet.
- Gyors műveleti gombok az alkalmazás eltávolításához és skálázásához.
- Több klaszter munkájának támogatása.
- Egyszerű munka a névtérrel.
- Helm chartok és Helm tárolók (beleértve a privátokat) támogatása. Chartok telepítése és kezelése a webes felületen.
A termék aktuális ára – egyszeri 30 eurós díj annak használatáért egy felhasználó számára bármennyi névtér és klaszter esetén.
4. Kubevious
- ;
- ;
- (~500 GitHub csillag);
- Licenc: Apache 2.0
- Röviden: "A Kubevious biztonságossá és érthetőbbé teszi a Kubernetes klasztereket, az alkalmazáskonfigurációkat és azok állapotának megtekintését."

A projekt ötlete egy olyan eszköz létrehozása, amely az alkalmazások klaszterben történő konfigurációinak elemzésére és hibakeresésére szolgál. A szerzők elsősorban ezen funkciók megvalósítására összpontosítottak, a tágabb kérdéseket későbbre hagyva.
A Kubevious főbb jellemzői és funkciói:
- Az alkalmazásorientált klasztervizualizáció: a kapcsolódó objektumok a felületen csoportosítva hierarchiába rendeződnek.
- Bonyodalmak szembetűnő megjelenítése a konfigurációkban és azok változásainak következményei.
- A klaszter konfigurálásának hibáinak megjelenítése: helytelen címkék használata, kihagyott portok stb. (Egy szó mint száz, ha érdekli ez a funkció, figyeljen az szól, amiről nemrégiben .)
- Az előző ponthoz hozzáadva – elérhető a potenciálisan veszélyes konténerek észlelése, azaz a túl nagy jogosultságokkal rendelkezőké (attribútumok
hostPID,hostNetwork,hostIPC, csatolvadocker.sockés hasonlók). - Fejlett keresési rendszer a klaszterben (nemcsak az objektumok nevei, hanem azok tulajdonságai alapján is).
- Eszközök a kapacitás tervezésére és az erőforrások optimalizálására.
- Beépített „időgép” (a korábbi objektumkonfigurációs változások megtekintésének lehetősége).
- RBAC kezelése a Roles, RoleBindings, ServiceAccounts összefüggő táblázatán keresztül.
- Csak egy klaszterrel működik.
A projektnek viszonylag rövid története van (az első kiadás 2020. február 11-én volt), és úgy tűnik, hogy stabilizálódás vagy fejlődés lassulása kezdődött. Ha a korábbi verziók gyakran jelentek meg, az utolsó kiadás ( 2020. április 15-én) elmaradt a kezdeti fejlesztési ütemtől. Valószínűleg ez a közreműködők alacsony számával áll összefüggésben: a tároló előzményeiben összesen 4 közreműködő van, és a tényleges munka egy ember által folyik.
5. Kubewise
- ;
- Licenc: birtokolt (nyílt forráskódúvá válik);
- Röviden: "Egyszerű, multiplatform Kubernetes kliens."

A VMware új terméke, amelyet eredetileg egy belső hackathon keretein belül hoztak létre (2019 júniusában). Telepíthető személyi számítógépre, alapja (támogatja a Linuxot, macOS-t és Windows-t), és a kubectl legalább v1.14.0 verzióját igényli.
A Kubewise főbb funkciói:
- Kapcsolat a Kubernetes leggyakrabban használt entitásaival az interfészen: csomópontok, névtárak stb.
- Több kubeconfig fájl támogatása különböző klaszterekhez.
- Terminál környezeti változó beállításának lehetőségével.
KUBECONFIG. - Egyedi kubeconfig fájlok generálása a megadott névtérhez.
- Kibővített biztonsági funkciók (RBAC, jelszavak, szolgáltatásfiókok).
A projektnek eddig csak egy kiadása van — a verzió 2019. november 26-tól. Az alkotók eredetileg nyílt forráskódúként szerették volna kiadni, de belső problémák miatt (amelyek nem műszaki jellegűek) ezt nem tudták megtenni. 2020 májusi állapot szerint az alkotók dolgoznak a következő kiadáson, és ezzel párhuzamosan el kell indítaniuk a kód megnyitásának folyamatát.
6. OpenShift Console
- ;
- (~150 csillag a GitHub-on);
- Licenc: Apache 2.0;
- Röviden: „UI az OpenShift klaszterekhez”.

Bár ez a webes felület az OpenShift disztribúció része (ott speciális operátor segítségével telepítik, ), az alkotók a telepítést / használatot normál (vanilla) Kubernetes installációkon is.
Az OpenShift Console már régóta fejlődik, ezért számos funkciót felölelt. Megemlítjük a legfontosabbakat:
- Megosztott megközelítés az interfészhez — két „nézőpont” érhető el a Console lehetőségein belül: adminisztrátorok és fejlesztők számára. A Developer perspective a fejlesztők számára érthetőbb módon csoportosítja az objektumokat (alkalmazások szerint), és az interfészt olyan tipikus feladatok megoldására orientálja, mint az alkalmazások telepítése, a build / telepítés állapotának nyomon követése és még a kód szerkesztése az Eclipse Che segítségével.
- Munkaigények, hálózat, tárolók és jogosultságok kezelése.
- Logikai megosztás a munkaigények számára projektekre és alkalmazásokra. Az egyik legutolsó kiadásban — v4.3 — különleges Project dashboard, amely a megszokott adatokat (telepítések, pod-ok számát és állapotait; erőforrás-felhasználás és egyéb mutatók) mutatja be projektek szempontjából.
- Valós idejű klaszterállapot-megjelenítés és a benne történt változások (események) megtekintése; naplók nézése.
- Prometheus, Alertmanager és Grafana alapú monitoring adatok megtekintése.
- A bemutatott operátorok kezelése a .
- Docker-en futó buildetek kezelése (a megadott Dockerfile-lal rendelkező tárolóból), vagy tetszőleges külső segédprogramok.
NB: Nem neveztük meg másokat a összehasonlításban Kubernetes disztribúciók (például a sokkal kevésbé ismert ): bár a grafikus felületük nagyon fejlett lehet, általában egy nagy rendszer integrált stack-jének részeként érkezik. Ha azonban úgy érzi, hogy bizonyos megoldások hiányoznak a teljesen működő v vanilla K8s telepítésből, kérjük, tudassa velünk a megjegyzésekben.
Bónusz
1. Portainer on Kubernetes bétaverzió
- ;
- (~100 GitHub csillag);
- Licenc: Zlib(?) (ez a szülő projektnél van).
A Portainer csapata által kifejlesztett projekt, amely az azonos nevű népszerű Docker interfészt hozta létre. Mivel a projekt még korai fejlesztési szakaszban van (első és egyetlen bétaverziója 2020. április 16-án), nem értékeltük a funkcióit. Azonban talán sokakat érdekel: ha Ön is közéjük tartozik, kövesse a fejlesztéseket.
2. IcePanel
- ;
- Licenc: zárt forráskódú;
- Röviden: „Kubernetes vizuális szerkesztő”.

Ez a fiatal asztali alkalmazás arra hivatott, hogy valós időben vizualizálja a Kubernetes erőforrásokat, és egyszerű drag & drop felületen kezelje azokat. A jelenlegi támogatott objektumok közé tartozik a Pod, Szolgáltatás, Telepítés, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap és Secret. Hamarosan ígérik a Helm támogatásának bevezetését. A legfőbb hátrányok a zárt kód (várhatóan „valamilyen formában” nyitottá válik) 3. k9s
(~7700 GitHub csillag);
- ;
- ;
- Röviden: „Kubernetes parancssori interfész, amely lehetővé teszi a klaszter stílusos kezelését“.
- Licenc: Apache 2.0;
- Röviden: „Konzol interfész a Kubernetes számára, amely lehetővé teszi a klaszter stílusos kezelését.”

Az eszköz csak a felülvizsgálat bónusz részében szerepelt, mert konzolos GUI-t kínál. Azonban a készítők szó szerint kihozták a maximumot a terminálból, nemcsak kényelmes interfészt, hanem 6 előre definiált téma kialakítását, valamint kiterjedt billentyűparancs rendszert és parancs-aliasokat is kínálva. Alapos megközelítésük nem csupán a kinézetre korlátozódott: a k9s lehetőségei kellemes meglepetést okoznak: erőforráskezelés, klaszter állapotának megjelenítése, erőforrások hierarchikus nézetben történő megjelenítése a függőségekkel, naplók megtekintése, RBAC támogatása, bővíthetőség pluginekkel… Mindez kedvezően hatott a széles K8s közösségre: a projekt GitHub csillagjainak száma szinte nem marad el az hivatalos Kubernetes Dashboard-tól!
4. Alkalmazáskezelő panelek
A felülvizsgálat befejezéseként - egy külön mini-kategória. Ebbe beletartozik két webes interfész, amely nem a Kubernetes klaszterek átfogó kezelésére, hanem arra szolgál, ami azokban elérhető.
Mint tudják, az egyik legérettebb és legszélesebb körben használt eszköz az összetett alkalmazások Kubernetesbe történő telepítésére a Helm. Mivel létezése alatt számos csomag (Helm chart) halmozódott fel az egyszerű telepítés érdekében . Ezért teljesen logikus a hasonló vizuális eszközök megjelenése is, amelyek lehetővé teszik a chartok életciklusának kezelését.
4.1. Monocular
- (1300+ GitHub csillag);
- Licenc: Apache 2.0;
- Röviden: 'Webalkalmazás a Helm chartok keresésére és felfedezésére, számos repóban. A Helm hub projekt alapját képezi.'

Ez a Helm létrehozóinak fejlesztése telepíthető Kubernetesbe, és egy klaszter keretein belül működik, elvégezve a kitűzött feladatot. Jelenleg azonban a projekt szinte nem fejlődik. Fő célja a Helm Hub fenntartása. Más igények esetén a készítők a Kubeapps-ot (lásd később) vagy a Red Hat Automation Broker-t ajánlják (az OpenShift része, de már ez sem fejlődik).
4.2. Kubeapps
- ;
- ;
- (~2100 GitHub csillag);
- Licenc: Apache 2.0
- Röviden: 'Az Ön panelje alkalmazások számára Kubernetesben.'

A Bitnami terméke, amely szintén telepíthető egy Kubernetes klaszterbe, de a Monocularhoz képest kezdetben a privát repók kezelésére összpontosít.
A Kubeapps kulcsfontosságú funkciói és jellemzői:
- Helm chartok megtekintése és telepítése repókból.
- Helm alapú alkalmazások ellenőrzése, frissítése és eltávolítása a klaszterben.
- Testreszabott és privát chart tárolók támogatása (támogatja a ChartMuseum és a JFrog Artifactory).
- Különféle szolgáltatások megtekintése és használata — a Szolgáltatás katalógus és Szolgáltatás közvetítőn keresztül.
- Telepített alkalmazások nyilvánossá tétele a Szolgáltatás katalógus kötődési mechanizmusa segítségével.
- Az RBAC segítségével történő hitelesítés és jogosultságok megosztása.
Összegző táblázat
Az alábbi összegző táblázatban összegeztük és aggregáltuk a meglévő vizuális felületek főbb lehetőségeit, hogy megkönnyítsük az összehasonlítást:
(Az online táblázat .)
Zárás
A Kubernetes grafikus felületei meglehetősen specifikus és fiatal niche. Ennek ellenére nagyon aktívan fejlődik: már találhatók elég érett megoldások, és teljesen új, még fejlődő eszközök is. Ezek különböző felhasználási esetekre orientálódnak, funkciókat és megjelenést kínálva gyakorlatilag minden ízlésnek. Reméljük, hogy ez a áttekintés segít a legjobban az aktuális igényeknek megfelelő eszköz kiválasztásában.
P.S.
Köszönjük az OpenShift Console-ra vonatkozó adatokért a összehasonlító táblázathoz!
Olvasson további információkat a blogunkban:
- «»;
- «»;
- «»;
- «».
Forrás: habr.com
