A Kubernetes grafikus felhasználói felületeinek áttekintése

A Kubernetes grafikus felhasználói felületeinek áttekintése

A rendszerrel való teljes értékű munkához fontos a parancssori segédprogramok ismerete: a Kubernetes esetében ez a kubectl. Másrészt a jól megtervezett, átgondolt grafikus felületek teljesíthetnekоa legtöbb szokásos feladatot, és további lehetőségeket nyit meg a rendszerek üzemeltetése előtt.

Tavaly jelentettünk meg egy fordítást kis áttekintés a webes felhasználói felületről a Kubernetes számára, a webes felület bejelentéséhez időzítve Kubernetes WebView. A cikk szerzője és maga a segédprogram, a zalandói Henning Jacobs az új terméket „kubectl for the web”-ként pozicionálta. Olyan eszközt akart létrehozni, amely felhasználóbarát képességekkel rendelkezik a technikai támogatási formátumú interakcióhoz (például a probléma gyors megjelenítéséhez egy webes hivatkozással), valamint az incidensekre való reagáláshoz, egyidejűleg több klaszterben is kereshet problémákat. Utódai jelenleg fejlődnek (főleg a szerző erőfeszítései alapján).

Mivel számos, különböző méretű Kubernetes klasztert szolgálunk ki, az is érdekelt bennünket, hogy vizuális eszközt tudjunk biztosítani ügyfeleink számára. A megfelelő interfész kiválasztásánál a következő funkciók voltak kulcsfontosságúak számunkra:

  • a felhasználói jogok megkülönböztetésének támogatása (RBAC);
  • a névtér állapotának megjelenítése és a szabványos Kubernetes primitívek (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • hozzáférés a podon belüli parancssorhoz;
  • hüvelyek naplóinak megtekintése;
  • nézze meg a hüvelyek állapotát (describe status);
  • hüvely eltávolítása.

Más funkciók, mint például a felhasznált erőforrások megtekintése (a pod/vezérlők/névterek kontextusában), a K8s primitívek létrehozása/szerkesztése, nem relevánsak a munkafolyamatunkon belül.

A felülvizsgálatot a klasszikus Kubernetes Dashboarddal kezdjük, amely a szabványunk. Mivel a világ nem áll meg (ami azt jelenti, hogy a Kubernetes egyre több új grafikus felhasználói felülettel rendelkezik), szót ejtünk a jelenlegi alternatíváiról is, mindent összefoglalva a cikk végén egy összehasonlító táblázatban.

NB: A felülvizsgálatban nem ismételjük meg azokkal a megoldásokkal, amelyeket már figyelembe vettünk utolsó cikk, azonban a teljesség kedvéért az ebből származó releváns opciók (K8Dash, Octant, Kubernetes Web View) szerepelnek a döntő táblázatban.

1. Kubernetes irányítópult

  • Dokumentációs oldal;
  • adattár (8000+ GitHub-csillag);
  • Licenc: Apache 2.0;
  • Röviden: „Univerzális webes felület Kubernetes-fürtökhöz. Lehetővé teszi a felhasználók számára a fürtben futó alkalmazások kezelését és hibaelhárítását, valamint magát a fürt kezelését."

A Kubernetes grafikus felhasználói felületeinek áttekintése

Ez egy általános célú panel, amelyet a Kubernetes szerzői tárgyalnak a hivatalos dokumentációban (de nem telepíthető alapértelmezett). A fürtben lévő alkalmazások mindennapi működéséhez és hibakereséséhez tervezték. Otthon teljes értékű könnyű vizuális eszközként használjuk, amely lehetővé teszi, hogy a fejlesztők számára biztosítsuk a szükséges és elegendő hozzáférést a klaszterhez. Lehetőségei lefedik a fürt használata során felmerülő összes igényüket (A ezt a cikket bemutattuk a panel néhány jellemzőjét). Ahogy sejtheti, ez azt jelenti, hogy megfelel a fent felsorolt ​​összes követelményünknek.

A Kubernetes Dashboard főbb funkciói között szerepel:

  • Navigáció: megtekintheti a K8s főbb objektumait a névterek kontextusában.
  • Ha rendelkezik rendszergazdai jogokkal, a panelen csomópontok, névterek és állandó kötetek jelennek meg. A csomópontok esetében rendelkezésre állnak statisztikák a memóriahasználatról, a processzorról, az erőforrás-allokációról, a mérőszámokról, az állapotról, az eseményekről stb.
  • Megtekintheti a névtérben telepített alkalmazásokat típusuk (Deployment, StatefulSet stb.), a köztük lévő kapcsolatok (ReplicaSet, Horizontal Pod Autoscaler), általános és személyre szabott statisztikák és információk szerint.
  • Tekintse meg a szolgáltatásokat és a belépéseket, valamint azok kapcsolatait a podokkal és végpontokkal.
  • Fájlobjektumok és tárolók megtekintése: Persistent Volume és Persistent Volume Claim.
  • A ConfigMap és a Secret megtekintése és szerkesztése.
  • Naplók megtekintése.
  • Parancssori hozzáférés a tárolókban.

Jelentős hátrány (azonban nem nekünk), hogy nincs támogatás a több klaszteres munkához. A projektet a közösség aktívan fejleszti, és a Kubernetes API új verzióinak és specifikációinak kiadásával karbantartja a releváns funkciókat: a panel legújabb verziója v2.0.1 22. május 2020. – A Kubernetes 1.18-as verziójával való kompatibilitás tesztelése.

2. lencse

A Kubernetes grafikus felhasználói felületeinek áttekintése

A projekt a Kubernetes teljes integrált fejlesztői környezeteként (IDE) található. Sőt, sok klaszterrel és nagyszámú bennük futó poddal való együttműködésre van optimalizálva (25 XNUMX podon tesztelve).

Az objektív főbb jellemzői/képességei:

  • Önálló alkalmazás, amelyhez nem szükséges semmit a fürtön belül telepíteni (pontosabban a Prometheusra lesz szükség az összes mérőszámhoz, de egy meglévő telepítés is használható erre). A „fő” telepítés Linux, macOS vagy Windows rendszerű személyi számítógépen történik.
  • Több fürt kezelése (több száz fürt támogatott).
  • A fürt állapotának megjelenítése valós időben.
  • Erőforrás-használati grafikonok és trendek előzményekkel a beépített Prometheus alapján.
  • Hozzáférés a tárolók és a fürtcsomópontok parancssorához.
  • A Kubernetes RBAC teljes körű támogatása.

Jelenlegi kiadás - 3.5.0 16. június 2020. Eredetileg a Kontena hozta létre, de mára az összes szellemi tulajdon egy speciális szervezethez került Lakeland Labs, amelyet "a felhőben natív geekek és technológusok uniójának" neveznek, amely "a Kontena nyílt forráskódú szoftvereinek és termékeinek megőrzéséért és elérhetőségéért" felelős.

A Lens a második legnépszerűbb projekt a GitHubon a Kubernetes grafikus felhasználói felületének kategóriájából, és csak magát a Kubernets Dashboardot „veszíti el”. Az összes többi nyílt forráskódú megoldás, amely nem a CLI* kategóriába tartozik, jelentősen elmarad a népszerűségtől.

* A K9-ekről lásd a felülvizsgálat bónusz részében.

3. Kubernetic

A Kubernetes grafikus felhasználói felületeinek áttekintése

Ez egy személyi számítógépre telepített szabadalmaztatott alkalmazás (Linux, macOS, Windows támogatott). A szerzők a parancssori segédprogram teljes cseréjét ígérik, és ezzel együtt - nem kell emlékezni a parancsokra, sőt tízszeresére növelik a sebességet.

Az eszköz egyik érdekessége a Helm diagramok beépített támogatása, az egyik hátránya pedig az alkalmazások teljesítménymutatóinak hiánya.

A Kubernetic főbb jellemzői:

  • A fürt állapotának kényelmes megjelenítése. Egy képernyő az összes kapcsolódó fürt objektum és függőségeik megtekintéséhez; piros/zöld készenléti állapot minden objektumnál; fürt állapotnézet mód valós idejű állapotfrissítésekkel.
  • Gyorsbillentyűk az alkalmazás törléséhez és méretezéséhez.
  • Több klaszteres működés támogatása.
  • Egyszerű munka a névterekkel.
  • Helm diagramok és Helm adattárak támogatása (beleértve a privátokat is). Diagramok telepítése és kezelése webes felületen.

A termék jelenlegi költsége 30 euró egyszeri fizetés, ha egy személy használhatja tetszőleges számú névtérre és klaszterre.

4. Kubevious

  • Telek;
  • előadás;
  • adattár (~500 GitHub-csillag);
  • Licenc: Apache 2.0
  • Röviden: "A Kubevious biztonságossá és könnyen érthetővé teszi a Kubernetes-fürtöket, az alkalmazáskonfigurációt és az állapotmegtekintést."

A Kubernetes grafikus felhasználói felületeinek áttekintése

A projekt ötlete egy olyan eszköz létrehozása, amely a fürtben telepített alkalmazáskonfigurációk elemzésére és hibakeresésére szolgál. A szerzők elsősorban ezeknek a funkcióknak a megvalósítására koncentráltak, az általánosabb dolgokat későbbre hagyva.

A Kubevious főbb jellemzői és funkciói:

  • Fürtvizualizáció alkalmazásközpontú módon: a kapcsolódó objektumok a felületen csoportosítva, hierarchiában sorakoznak.
  • A konfigurációk függőségei és változásaik lépcsőzetes következményeinek vizuális megjelenítése.
  • Fürtkonfigurációs hibák megjelenítése: címkékkel való visszaélés, kihagyott portok stb. (Mellesleg, ha érdekli ez a funkció, figyeljen a Polarisamiről mi már írt.)
  • Az előző ponton kívül elérhető a potenciálisan veszélyes konténerek felderítése, pl. túl sok jogosultsággal (attribútumokkal hostPID, hostNetwork, hostIPC, mount docker.sock stb).
  • Speciális keresési rendszer a fürthöz (nem csak az objektumok nevei, hanem tulajdonságaik alapján is).
  • Eszközök kapacitástervezéshez és erőforrás-optimalizáláshoz.
  • Beépített "időgép" (az objektumok konfigurációjában bekövetkezett korábbi változások megtekintésének képessége).
  • RBAC-kezelés a szerepek, szerepkörök és szolgáltatásfiókok egymáshoz kapcsolódó pivot-táblájával.
  • Csak egy klaszterrel működik.

A projektnek nagyon rövid története van (az első kiadás 11. február 2020-én jelent meg), és úgy tűnik, hogy a fejlődésben vagy a stabilizáció, vagy a lassulás időszaka volt. Ha a korábbi verziók gyakran megjelentek, akkor a legújabb kiadás (v0.5 15. április 2020.) elmaradt a fejlődés kezdeti ütemétől. Ez valószínűleg a közreműködők csekély számának tudható be: a tár történetében mindössze 4 darab van, és az összes tényleges munkát egy ember végzi.

5. Kubewise

  • Projekt oldal;
  • Licenc: saját (nyílt forráskódú lesz);
  • Röviden: "Egy egyszerű többplatformos kliens a Kubernetes számára."

A Kubernetes grafikus felhasználói felületeinek áttekintése

A VMware új terméke, amelyet eredetileg egy belső hackathon részeként hoztak létre (2019 júniusában). Személyi számítógépre telepítve, az alapján működik Elektron (Linux, macOS és Windows támogatott), és a kubectl v1.14.0 vagy újabb verziója szükséges.

A Kubewise főbb jellemzői:

  • Interfész interakció a leggyakrabban használt Kubernetes entitásokkal: csomópontok, névterek stb.
  • Több kubeconfig fájl támogatása különböző fürtökhöz.
  • Környezeti változó beállítására alkalmas terminál KUBECONFIG.
  • Hozzon létre egyéni kubeconfig fájlokat az adott névtérhez.
  • Fejlett biztonsági funkciók (RBAC, jelszavak, szolgáltatásfiókok).

Eddig a projektnek csak egy kiadása van - verziója 1.1.0 26. november 2019-án kelt. Sőt, a szerzők azt tervezték, hogy azonnal kiadják nyílt forráskódúként, de belső (nem technikai problémákkal kapcsolatos) problémák miatt ezt nem tudták megtenni. 2020 májusától a szerzők a következő kiadáson dolgoznak, és ezzel egy időben kell elindítaniuk a kód megnyitásának folyamatát.

6. OpenShift konzol

A Kubernetes grafikus felhasználói felületeinek áttekintése

Annak ellenére, hogy ez a webes felület az OpenShift disztribúció része (a segítségével telepítve van speciális kezelő), szerzők biztositva van a normál (vanília) Kubernetes telepítések telepítésének/használatának lehetősége.

Az OpenShift Console már régóta fejlesztés alatt áll, így számos funkciót beépített. Megemlítjük a főbbeket:

  • Megosztott felület megközelítés – a Konzolban elérhető lehetőségek két „perspektívája”: rendszergazdák és fejlesztők számára. Mód fejlesztői perspektíva az objektumokat a fejlesztők számára érthetőbb formában csoportosítja (alkalmazások szerint), és az olyan tipikus feladatok megoldására összpontosítja a felületet, mint az alkalmazások telepítése, a build/deploy állapot követése, vagy akár a kód szerkesztése az Eclipse Che-n keresztül.
  • Munkaterhelések, hálózat, tárolás, hozzáférési jogok kezelése.
  • A munkaterhelések logikai szétválasztása projektekre és alkalmazásokra. Az egyik legújabb kiadásban - v4.3 - megjelent специальный Projekt irányítópult, amely a szokásos adatokat (telepítések, pod-ok stb. száma és állapota; erőforrás-felhasználás és egyéb mérőszámok) jeleníti meg egy projektszeletben.
  • Valós időben frissítve a klaszter állapotát, a benne bekövetkezett változásokat (eseményeket); naplók megtekintése.
  • Tekintse meg a Prometheus, az Alertmanager és a Grafana alapú megfigyelési adatokat.
  • A képviselt üzemeltetők irányítása operatorhub.
  • A Dockeren keresztül futó buildek kezelése (meghatározott lerakatból Docker-fájllal), S2I vagy tetszőleges külső közművek.

NB: Másokat nem adtunk hozzá az összehasonlításhoz Kubernetes disztribúciók (például a sokkal kevésbé ismert Kubesféra): annak ellenére, hogy a GUI nagyon fejlett lehet bennük, általában egy nagy rendszer integrált veremének részeként érkezik. Ha azonban úgy gondolja, hogy nincs elég olyan megoldás, amely a vanilla K8s telepítésében teljes mértékben működik, jelezze nekünk kommentben.

Prémium

1. Portainer a Kubernetes béta verziójában

  • Telek;
  • adattár (~100 GitHub-csillag);
  • Licenc: Zlib(?) (ugyanez a szülőprojektnél is).

A Portainer csapat projektje, amely az azonos nevű népszerű felületet fejlesztette ki a Dockerrel való együttműködéshez. Mivel a projekt a fejlesztés korai szakaszában van (az első és egyetlen béta verzió kijött 16. április 2020.), nem értékeltük a jellemzőit. Viszont sokakat érdekelhet: ha rólad van szó, kövesd a fejleményeket.

2. IcePanel

  • Telek;
  • Licenc: saját;
  • Röviden: "Visual Kubernetes Editor".

A Kubernetes grafikus felhasználói felületeinek áttekintése

Ennek a fiatal asztali alkalmazásnak a célja a Kubernetes-erőforrások valós időben történő megjelenítése és kezelése egy egyszerű drag & drop felülettel. A jelenleg támogatott objektumok a következők: Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap és Secret. Hamarosan azt ígérik, hogy támogatják Helmet. A fő hátrányok a kód közelsége (ez várható megnyitás "valamilyen módon") és a Linux-támogatás hiánya (egyelőre csak Windows és macOS verziók érhetők el, bár ez is nagy valószínűséggel csak idő kérdése).

3.k9s

  • Telek;
  • Demonstráció;
  • adattár (~7700 GitHub-csillag);
  • Licenc: Apache 2.0;
  • Röviden: "A Kubernetes konzolfelülete, amely lehetővé teszi a fürt stílusos kezelését."

A Kubernetes grafikus felhasználói felületeinek áttekintése

A segédprogram csak a bónusz része volt a felülvizsgálatnak, mert konzolos grafikus felületet kínál. A szerzők azonban szó szerint kipréselték a maximumot a terminálból, nemcsak felhasználóbarát felületet, hanem 6 előre definiált témát, valamint fejlett billentyűparancs- és parancsálneveket is kínáltak. Alapos megközelítésük nem korlátozódott a megjelenésre: a k9s szolgáltatásai kellemesen lenyűgözőek: erőforrás-kezelés, a fürt állapotának megjelenítése, az erőforrások megjelenítése hierarchikus ábrázolásban függőséggel, naplók megtekintése, RBAC-támogatás, a képességek bővítése pluginekkel... Mindez vonzotta a széles K8s közösségnek: a szám A projekt GitHub sztárjai majdnem olyan jók, mint a hivatalos Kubernetes Dashboard!

4. Alkalmazásvezérlő panelek

És a felülvizsgálat végén - egy külön mini-kategória. Két webes felületet tartalmazott, amelyeket nem a Kubernetes-fürtök átfogó kezelésére terveztek, hanem a bennük telepített dolgok kezelésére.

Mint tudják, az egyik legkiforrottabb és legelterjedtebb eszköz a Kubernetes komplex alkalmazások telepítéséhez a Helm. Fennállása során számos csomag (Helm diagram) halmozódott fel az egyszerű telepítés érdekében sok népszerű alkalmazás. Ezért teljesen logikus a megfelelő vizuális eszközök megjelenése, amelyek lehetővé teszik a diagramok életciklusának kezelését.

4.1. Monokuláris

  • adattár (1300+ GitHub-csillag);
  • Licenc: Apache 2.0;
  • Röviden: „Webes alkalmazás Helm-diagramok keresésére és felfedezésére több adattáron keresztül. A Helm hub projekt alapjául szolgál."

A Kubernetes grafikus felhasználói felületeinek áttekintése

A Helm szerzőitől származó fejlesztés a Kubernetesben van telepítve, és ugyanabban a fürtben működik, végrehajtva a feladatot. Jelenleg azonban a projekt szinte kidolgozatlan. Fő célja a Helm Hub létezésének támogatása. Egyéb igényekre a szerzők a Kubeappst (lásd lent) vagy a Red Hat Automation Brokert (az OpenShift része, de szintén nem fejlesztik) ajánlják.

4.2. Kubeapps

  • Telek;
  • előadás;
  • adattár (~2100 GitHub-csillag);
  • Licenc: Apache 2.0
  • Röviden: "Az alkalmazás irányítópultja a Kubernetes számára."

A Kubernetes grafikus felhasználói felületeinek áttekintése

A Bitnami terméke, amely szintén egy Kubernetes-fürtbe van telepítve, de abban különbözik a Monocular-tól, hogy kezdetben a privát adattárak használatára összpontosít.

A Kubeapps fő funkciói és jellemzői:

  • Helm diagramok megtekintése és telepítése tárolókból.
  • Ellenőrizze, frissítse és távolítsa el a fürtre telepített Helm-alapú alkalmazásokat.
  • Egyéni és privát diagramtárolók támogatása (támogatja a ChartMuseumot és a JFrog Artifactoryt).
  • Külső szolgáltatások megtekintése és kezelése - a szolgáltatáskatalógusból és a szolgáltatásközvetítőkből.
  • Telepített alkalmazások közzététele a Service Catalog Bindings mechanizmus segítségével.
  • A hitelesítés és a jogok szétválasztásának támogatása RBAC használatával.

Összefoglaló táblázat

Az alábbiakban egy összefoglaló táblázat található, amelyben megpróbáltuk összefoglalni és összesíteni a meglévő vizuális felületek főbb jellemzőit az összehasonlítás megkönnyítése érdekében:

A Kubernetes grafikus felhasználói felületeinek áttekintése
(A táblázat online változata elérhető a Google Dokumentumokban.)

Következtetés

A Kubernetes grafikus felhasználói felületei meglehetősen sajátos és fiatal rést jelentenek. Azonban nagyon aktívan fejlődik: már lehet találni egészen kiforrott és nagyon fiatal megoldásokat is, amelyeknek még van hova fejlődniük. Sokféle alkalmazást kínálnak, szinte minden ízlésnek megfelelő funkciókat és megjelenést kínálnak. Reméljük, hogy ez az áttekintés segít kiválasztani az aktuális igényeinek leginkább megfelelő eszközt.

PS

Köszönöm szagok az összehasonlító táblázathoz az OpenShift konzolon található adatokhoz!

Olvassa el blogunkon is:

Forrás: will.com

Hozzászólás