Iwwersiicht vun GUIs fir Kubernetes

Iwwersiicht vun GUIs fir Kubernetes

Fir voll mam System ze schaffen, ass et wichteg Kommandozeil Utilities ze kennen: am Fall vu Kubernetes ass dat kubectl. Op der anerer SĂ€it kĂ«nne gutt entworf, gutt duerchduechte GUIs LeeschtungeĐŸmeescht vun den ĂŒblechen Aufgaben an opmaachen zousĂ€tzlech MĂ©iglechkeeten wann Betribssystemer.

D'lescht Joer hu mir eng Iwwersetzung publizéiert e kuerzen Iwwerbléck iwwer Web UI fir Kubernetes, fir d'Ukënnegung vun der Web Interface gewidmet Kubernetes WebView. Den Auteur vun deem Artikel an dem Utility selwer, Henning Jacobs vun der Zalando Firma, huet dat neit Produkt als "kubectl fir de Web" positionéiert. Hie wollt en Tool mat praktesche FÀegkeeten fir Interaktioun an engem technesche Supportformat erstellen (zum Beispill séier e Problem mat engem Weblink ze weisen) a fir op TëschefÀll ze reagéieren, no Probleemer a ville Cluster zur selwechter ZÀit ze sichen. SÀi Brainchild gëtt haut nach entwéckelt (haaptsÀchlech vum Auteur selwer).

Déngscht vill Kubernetes Cluster vu verschiddene Gréissten, mir sinn och interesséiert an der FÀhegkeet Clienten mat engem visuellen Aarbecht Outil ze bidden. Wann Dir e passenden Interface auswielt, waren déi folgend Features Schlëssel fir eis:

  • ËnnerstĂ«tzung fir DifferenzĂ©ierung vun de Benotzerrechter (RBAC);
  • VisualisĂ©ierung vum Nummraumstaat a Standard Kubernetes Primitiv (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • Zougang zu der Kommandozeil am Pod ze krĂ©ien;
  • Pod Logbicher kucken;
  • de Status vun de Pods kucken (describe status);
  • ewechzehuelen pods.

Aner Funktiounen, sou wéi verbrauchte Ressourcen kucken (vu Pods / Controller / Nummraim), K8s Primitiv erstellen / Ànneren, sinn net relevant an eisem Workflow.

Mir starten d'Iwwerpréiwung mam klassesche Kubernetes Dashboard, deen als eise Standard ugeholl gëtt. Well d'Welt net stoe bleift (wat heescht datt Kubernetes ëmmer méi nei GUIs huet), wÀerte mir och iwwer seng aktuell Alternativen schwÀtzen, alles an enger verglÀichender Tabell um Enn vum Artikel resuméieren.

NB: An der IwwerprĂ©iwung wĂ€erte mir dĂ©i LĂ©isungen net widderhuelen, dĂ©i scho berĂŒcksichtegt goufen leschten Artikel, awer - fir d'VollstĂ€ndegkeet - dĂ©i relevant Optiounen dovun (K8Dash, Octant, Kubernetes Web View) sinn an der Finale DĂ«sch abegraff.

1. Kubernetes Dashboard

  • Dokumentatioun SĂ€it;
  • repository (8000+ GitHub StĂ€ren);
  • Lizenz: Apache 2.0;
  • Kuerz gesot: "Eng universell Webinterface fir Kubernetes Cluster. Et erlaabt d'Benotzer d'Applikatiounen ze managen an ze lĂ©isen, dĂ©i an engem Cluster lafen, wĂ©i och de Cluster selwer verwalten.

Iwwersiicht vun GUIs fir Kubernetes

Dëst ass en allgemeng Zweck Panel vun de Kubernetes Autoren an der offizieller Dokumentatioun ofgedeckt (awer net deployable Standard). Et ass geduecht fir d'Bedierfnesser vun deeglecher Operatioun an Debugging vun Uwendungen an engem Cluster. Mir benotzen et hei als e vollwÀertegt liicht visuellt Tool dat eis erlaabt Entwéckler den néidegen a genuch Zougang zum Cluster ze bidden. Seng FÀegkeeten decken all hir Bedierfnesser déi entstinn am Prozess vum Cluster ze benotzen (in dësen Artikel mir hunn e puer Features vum Panel demonstréiert). Wéi Dir kënnt einfach virstellen, heescht dat datt et all eis Ufuerderunge entsprécht uewen opgezielt.

Ënnert den Haaptfeatures vum Kubernetes Dashboard:

  • Navigatioun: Kuckt d'Haapt K8s Objete vum Nummraum.
  • Wann Dir Administrator Rechter hutt, weist de Panel Noden, Nummraim a Persistent Volumen. Statistiken iwwer ErĂ«nnerung a Prozessor Notzung, Ressource Allocatioun, Metriken, Status, Evenementer, etc.
  • Kuckt d'Applikatiounen, dĂ©i am Nummraum ofgesat ginn no hiren Typ (Deployment, StatefulSet, etc.), Verbindungen tĂ«scht hinnen (ReplicaSet, Horizontal Pod Autoscaler), allgemeng a personalisĂ©iert Statistiken an Informatioun.
  • Kuckt Servicer an Ingress, souwĂ©i hir Verbindunge mat Pods an Endpoints.
  • Kuckt Dateiobjekter a SpĂ€icheren: Persistent Volumen a Persistent Volume Claim.
  • Kuckt an Ă€nneren ConfigMap a Secret.
  • View Logbicher.
  • Kommando Linn Zougang zu Container.

E wesentlechen Nodeel (net fir eis awer) ass datt et keng ËnnerstĂ«tzung fir Multi-Cluster Operatioun gĂ«tt. De Projet ass aktiv vun der Gemeinschaft entwĂ©ckelt an Ă«nnerstĂ«tzt aktuell Funktiounen mat der VerĂ«ffentlechung vun neie Versiounen a Spezifikatioune vun der Kubernetes API: dĂ©i lescht Versioun vum Panel ass v2.0.1 22. Mee 2020 - Getest fir KompatibilitĂ©it mat Kubernetes 1.18.

2. Lens

Iwwersiicht vun GUIs fir Kubernetes

De Projet ass als vollwÀerteg integréiert Entwécklungsëmfeld (IDE) fir Kubernetes positionéiert. Ausserdeem ass et optimiséiert fir mat ville Cluster ze schaffen an enger grousser Zuel vu Pods déi an hinnen lafen (getest op 25 Tausend Pods).

Haaptfeatures / FĂ€egkeete vu Lens:

  • Eng Standalone-Applikatioun, dĂ©i keng Installatioun am Cluster erfuerdert (mĂ©i genee, Prometheus ass erfuerderlech fir all Metriken ze krĂ©ien, awer eng existent Installatioun kann dofir benotzt ginn). DĂ©i "Haapt"-Installatioun gĂ«tt op engem persĂ©inleche Computer duerchgefouert, deen leeft. Linux, macOS oder Windows.
  • Multi-Cluster Management (honnerte vu Cluster Ă«nnerstĂ«tzt).
  • VisualisĂ©ierung vum Clusterzoustand an EchtzĂ€it.
  • Ressource Notzung Grafiken an Trends mat Geschicht basĂ©iert op agebaute Prometheus.
  • Zougang zu der Kommandozeil vu Container a Clusternoden.
  • Voll ËnnerstĂ«tzung fir Kubernetes RBAC.

Aktuell VerĂ«ffentlechung - 3.5.0 vum 16. Juni 2020. DĂ©i initial Versioun gouf zu Kontena erstallt, an haut ass all intellektuell Eegentum un eng speziell Organisatioun transferĂ©iert ginn. Lakend Labs, genannt "eng Association of Cloud native Geeks and technologists", dĂ©i verantwortlech sinn fir "Open Source Software a Kontena Produkter ze konservĂ©ieren an verfĂŒgbar ze maachen."

Lens ass den zweet beléifste Projet op GitHub an der GUI Kategorie fir Kubernetes, hannert nëmmen dem Kubernets Dashboard selwer. All aner Open Source Léisungen, déi net an der CLI* Kategorie sinn, si wesentlech manner an der Popularitéit.

* Gesinn iwwer K9s am Bonus Deel vun der Iwwerpréiwung.

3. Kubernetic

Iwwersiicht vun GUIs fir Kubernetes

Dëst ass eng proprietÀr Applikatioun, déi op engem perséinleche Computer installéiert ass (ënnerstëtzt Linux, macOS, WindowsSeng Creatoren verspriechen e komplette Ersatz fir d'Kommandozeilenprogramm, wouduerch d'Noutwennegkeet fir d'Erënnerung vu Kommandoen eliminéiert gëtt an d'Betribsgeschwindegkeet souguer verzéngfacht gëtt.

Ee vun den interessanten Features vum Tool ass dĂ©i agebauter ËnnerstĂ«tzung fir Helm Charts, awer ee vun den Nodeeler ass de Mangel un Applikatioun Performance Metriken.

Haaptfeatures vu Kubernetic:

  • Confortabel Affichage vum Clusterstatus. Een Écran fir all Zesummenhang Clusterobjekter an hir OfhĂ€ngegkeeten ze gesinn; rout / grĂ©ng prett Staat fir all Objeten; Cluster Status Viewing Modus mat EchtzĂ€it Statusupdates.
  • Schnell AktiounsknĂ€pper fir d'Applikatioun ze lĂ€schen an ze skalĂ©ieren.
  • ËnnerstĂ«tzung fir Multi-Cluster Operatioun.
  • Einfach Aarbecht mat Nummraim.
  • ËnnerstĂ«tzung fir Helm Charts an Helm Repositories (inklusiv privaten). Installatioun a Gestioun vun Charts am Web Interface.

Déi aktuell KÀschte vum Produkt sinn eng eemoleg Bezuelung vun 30 Euro fir seng Notzung vun enger Persoun fir all Zuel vun Nummraim a Cluster.

4. Kubevious

  • WebsĂ€it;
  • Presentatioun;
  • repository (~ 500 GitHub StĂ€ren);
  • Lizenz: Apache 2.0
  • An enger Nossschuel: "Kubevious mĂ©cht Kubernetes Cluster, Applikatiounskonfiguratioun a VisibilitĂ©it an d'Applikatiounsstatus sĂ©cher an einfach ze verstoen."

Iwwersiicht vun GUIs fir Kubernetes

D'Iddi vum Projet ass en Tool ze kreĂ©ieren entworf fir Applikatiounskonfiguratiounen ze analysĂ©ieren an ze debuggen an engem Cluster ofgesat. D'Auteuren konzentrĂ©iert sech haaptsĂ€chlech op d'Ëmsetzung vun dĂ«se Funktiounen, a lĂ©isst mĂ©i allgemeng Saache fir spĂ©ider.

Schlësselfeatures a Funktiounen vu Kubevious:

  • VisualisĂ©iert de StĂ€rekoup op eng Applikatiounszentresch ManĂ©ier: vernetzt Objeten an der Interface ginn an eng Hierarchie gruppĂ©iert.
  • Visuell OfhĂ€ngegkeeten an Konfiguratiounen an dĂ©i kaskadĂ©ierend Konsequenze vun hiren Ännerungen ze weisen.
  • Weist Cluster Konfiguratioun Feeler: falsch Benotzung vun Etiketten, verpasst Ports, etc. (Iwwregens, wann Dir un dĂ«ser Feature interessĂ©iert sidd, oppassen op Polarisiwwer dĂ©i mir scho geschriwwen.)
  • Nieft dem virege Punkt ass Detektioun vu potenziell gefĂ©ierleche Container verfĂŒgbar, d.h. ze vill Privilegien ze hunn (Attributer hostPID, hostNetwork, hostIPC, MontĂ©ierung docker.sock etc).
  • En fortgeschratt StĂ€rekoup Sich System (net nĂ«mmen duerch Objet Nimm, mĂ€ och duerch hir Eegeschafte).
  • Tools fir KapazitĂ©itsplanung a RessourceoptimisĂ©ierung.
  • Built-in "ZĂ€itmaschinn" (d'FĂ€higkeit fir virdru geschitt Ännerungen an der Konfiguratioun vun Objeten ze gesinn).
  • Gestioun RBAC mat engem ResumĂ© interconnected DĂ«sch aus Rollen, RolleBindings, ServiceAccounts.
  • Schafft nĂ«mme mat engem Cluster.

De Projet huet eng ganz kuerz Geschicht (déi éischt Verëffentlechung huet den 11. Februar 2020 stattfonnt) an et schéngt datt et eng Period vun entweder Stabiliséierung oder VerlÀngerung an der Entwécklung gouf. Wann fréier Versioune dacks verëffentlecht goufen, dann ass déi lescht Verëffentlechung (v0.5 Abrëll 15) hannert dem initialen Tempo vun der Entwécklung gefall. Dëst ass méiglecherweis wéinst der klenger Unzuel vun de Mataarbechter: an der Geschicht vum Repository sinn et nëmmen 2020 vun hinnen, an all déi tatsÀchlech Aarbecht gëtt vun enger Persoun duerchgefouert.

5. Kubewise

  • Projet SĂ€it;
  • Lizenz: propriĂ©taire (gĂ«tt Open Source);
  • An enger Nossschuel: "En einfachen, Multi-Plattform Client fir Kubernetes."

Iwwersiicht vun GUIs fir Kubernetes

En neit Produkt vu VMware, ursprénglech als Deel vun engem internen Hackathon erstallt (am Juni 2019). Installéiert op engem perséinleche Computer, funktionnéiert op der Basis Electron (ënnerstëtzt) Linux, macOS О Windows) a verlaangt kubectl net méi al wéi v1.14.0.

Schlëssel Feature vu Kubewise:

  • Interface Interaktioun mat de meescht benotzt Kubernetes EntitĂ©iten: Noden, Nummraim, asw.
  • ËnnerstĂ«tzung fir verschidde kubeconfig Dateien fir verschidde Cluster.
  • Terminal mat der FĂ€egkeet fir eng Ëmfeldvariabel ze setzen KUBECONFIG.
  • GenerĂ©iere personalisĂ©iert kubeconfig Dateien fir e bestĂ«mmten Nummraum.
  • Fortgeschratt SĂ©cherheetsfeatures (RBAC, Passwierder, Servicekonten).

Bis elo huet de Projet nëmmen eng Verëffentlechung - Versioun 1.1.0 vum 26. November 2019. Ausserdeem hunn d'Auteuren geplangt et direkt als Open Source ze verëffentlechen, awer wéinst internen Probleemer (net mat technesche Problemer verbonnen) konnten se dat net maachen. Zënter Mee 2020 schaffen d'Auteuren un der nÀchster Verëffentlechung a mussen den Open Source Prozess zur selwechter ZÀit initiéieren.

6. OpenShift Konsol

Iwwersiicht vun GUIs fir Kubernetes

Trotz der Tatsaach, datt dës Web-Interface Deel vun der OpenShift Verdeelung ass (do ass et installéiert mat spezielle Bedreiwer), Auteuren geliwwert hunn d'FÀhigkeit et a regelméissegen (Vanille) Kubernetes Installatiounen z'installéieren / ze benotzen.

OpenShift Console huet sech fir eng laang ZÀit entwéckelt, sou datt et vill Funktiounen integréiert huet. Loosst eis déi Haapt ernimmen:

  • Eng gemeinsam Approche fir d'Interface - zwee "Perspektiven" vun de FĂ€egkeeten, dĂ©i an der Konsole verfĂŒgbar sinn: fir Administrateuren a fir EntwĂ©ckler. Modus EntwĂ©ckler Perspektiv Gruppen Objeten an enger Form mĂ©i verstĂ€ndlech fir EntwĂ©ckler (vun Applikatioun) a konzentrĂ©iert d'Interface op d'LĂ©isung vun esou typesch Aufgaben wĂ©i d'Deployment vun Uwendungen, d'Verfollegung vum Bau- / Deploymentstatus, an och d'Editioun vum Code duerch Eclipse Che.
  • Verwalte Aarbechtslaascht, Netzwierk, SpĂ€icheren, Zougangsrechter.
  • Logesch Trennung fir Projet an Applikatioun Aarbechtslaascht. An enger vun de leschten VerĂ«ffentlechungen - v4.3 - wossten speziell Projet Dashboard, dĂ©i ĂŒblech DonnĂ©eĂ«n ze weisen (Zuel an de Status vun den Deployementer, Pods, etc.; Ressourceverbrauch an aner Metriken) an engem Querschnitt vu Projeten.
  • EchtzĂ€it aktualisĂ©iert Affichage vum Clusterstatus an Ännerungen (Evenementer) dĂ©i dran opgetruede sinn; Logbicher kucken.
  • Kuckt Iwwerwaachungsdaten basĂ©iert op Prometheus, Alertmanager a Grafana.
  • Gestioun OpĂ©rateuren representĂ©iert an operatorhub.
  • Verwalte Builds dĂ©i iwwer Docker lafen (vun engem spezifizĂ©ierte Repository mat engem Dockerfile) S2 ech oder arbitrĂ€r extern Utilities.

NB: Mir hunn net anerer zum Verglach bĂ€igefĂŒĂŒgt Kubernetes Distributiounen (zum Beispill vill manner berĂŒhmt Kubesphere): trotz der Tatsaach, datt d'grafesch Interface an hinnen ganz fortgeschratt ginn, kĂ«nnt et normalerweis als Deel vun der integrĂ©iert Stack vun engem grousse System. WĂ©i och Ă«mmer, wann Dir mengt datt e puer LĂ©isungen dĂ©i voll funktionell an der Vanille K8s Installatioun fehlen, lass eis an de Kommentaren wĂ«ssen.

Bonus

1. Portainer op Kubernetes an Beta

E Projet vum Portainer Team, deen déi populÀr Interface mam selwechten Numm entwéckelt huet fir mat Docker ze schaffen. Zënter datt de Projet an engem fréie Stadium vun der Entwécklung ass (déi éischt an eenzeg Beta Versioun koum eraus Abrëll 16), hu mir seng Funktiounen net bewÀert. Wéi och ëmmer, et kann fir vill interessant sinn: wann dat kléngt wéi Dir, befollegt d'Entwécklung.

2. IcePanel

  • WebsĂ€it;
  • Lizenz: propriĂ©taire;
  • Kuerz gesot: "Visual Kubernetes Editor."

Iwwersiicht vun GUIs fir Kubernetes

DĂ«s jonk Desktop-Applikatioun zielt Kubernetes Ressourcen an EchtzĂ€it ze visualisĂ©ieren an ze verwalten mat engem einfachen Drag & Drop Interface. DĂ©i aktuell Ă«nnerstĂ«tzt Objekter sinn Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap a Secret. Si verspriechen Helm Support geschwĂ«nn ze addĂ©ieren. D'Haaptnodeeler sinn datt de Code zou ass (et gĂ«tt erwaart Ouverture "an iergendenger Form") an de Manktem u ËnnerstĂ«tzung Linux (nĂ«mme Versioune sinn am Moment verfĂŒgbar Windows Đž macOS, obwuel dat hĂ©chstwahrscheinlech och just eng Fro vun der ZĂ€it ass).

3. k9s

  • WebsĂ€it;
  • Demonstratioun;
  • repository (~ 7700 GitHub StĂ€ren);
  • Lizenz: Apache 2.0;
  • An enger Nossschuel: "Eng Konsol-Interface fir Kubernetes dĂ©i Iech erlaabt Äre Cluster am Stil ze managen."

Iwwersiicht vun GUIs fir Kubernetes

D'Utility war nëmmen am Bonus Deel vun der Iwwerpréiwung abegraff aus dem Grond datt et eng Konsol GUI bitt. Wéi och ëmmer, d'Auteuren hunn wuertwiertlech dat Bescht aus dem Terminal gepresst, net nëmmen e prakteschen Interface ubitt, awer och 6 virdefinéiert Themen, an en entwéckelte System vun Tastatur Ofkiirzungen an Aliasen fir Kommandoen. Hir grëndlech Approche war net limitéiert op d'Erscheinung: d'Kapazitéite vu k9s sinn agreabel beandrockend: Ressourcen managen, den Zoustand vum StÀrekoup affichéieren, Ressourcen an enger hierarchescher Vue mat OfhÀngegkeeten weisen, Logbicher kucken, RBAC ënnerstëtzen, FÀegkeeten duerch Plugins ausbauen ... All dëst war dem Wënsch vun der breet K8s Gemeinschaft: Quantitéit De GitHub StÀreprojet ass bal sou gutt wéi den offiziellen Kubernetes Dashboard!

4. Applikatioun Kontroll Brieder

An um Enn vun der Iwwerpréiwung - eng separat Mini-Kategorie. Et enthÀlt zwee Webinterfaces entworf net fir komplex Gestioun vu Kubernetes Cluster, awer fir ze managen wat an hinnen ofgebaut gëtt.

Wéi Dir wësst, ass ee vun de reifesten a verbreetsten Tools fir komplex Uwendungen a Kubernetes z'installéieren Helm. WÀhrend der Period vu senger Existenz hu vill Packagen (Helm Charts) gesammelt fir einfach Deployment vill populÀr Uwendungen. Dofir ass et ganz logesch datt entspriechend visuell Tools erschéngen fir de Liewenszyklus vun den Charts ze managen.

4.1. Monokular

  • repository (1300+ GitHub StĂ€ren);
  • Lizenz: Apache 2.0;
  • An enger Nossschuel: "Webapplikatioun fir Helm Charts iwwer verschidde Repositories ze sichen an z'entdecken. DĂ©ngt als Basis fir den Helm Hub Projet."

Iwwersiicht vun GUIs fir Kubernetes

Dës Entwécklung vun den Auteuren vun Helm ass an Kubernetes installéiert a leeft an engem Cluster, déi zougewisen Aufgab ausféiert. Allerdéngs entwéckelt de Projet de Moment guer net. SÀin Haaptzil ass d'Existenz vum Helm Hub z'ënnerstëtzen. Fir aner Bedierfnesser recommandéieren d'Auteuren Kubeapps (kuckt hei ënnen) oder Red Hat Automation Broker (Deel vun OpenShift, awer och net méi entwéckelt).

4.2. Kubeapps

Iwwersiicht vun GUIs fir Kubernetes

E Produkt vu Bitnami, deen och an engem Kubernetes Cluster installéiert ass, awer ënnerscheet sech vu Monocular a sengem initialen Fokus op d'Aarbecht mat private Repositories.

Schlëssel Funktiounen a Funktionalitéit vu Kubeapps:

  • Kuckt an installĂ©iert Helm Charts aus Repositories.
  • IwwerprĂ©ift, aktualisĂ©ieren a lĂ€schen Helm-basĂ©iert Uwendungen dĂ©i am Cluster installĂ©iert sinn.
  • ËnnerstĂ«tzung fir mat personalisĂ©ierten a private Chartrepositories ze schaffen (Ă«nnerstĂ«tzt ChartMuseum an JFrog Artifactory).
  • Kuckt an schafft mat externe Servicer - vum Service Katalog a Service Brokers.
  • VerĂ«ffentlechung installĂ©iert Uwendungen mam Service Katalog Bindingsmechanismus.
  • ËnnerstĂ«tzung fir Authentifikatioun a Rechter Trennung mat RBAC.

Finale Dësch

Drënner ass e Resumétabel an deem mir probéiert hunn d'HaaptfÀegkeeten vun existente visuellen Interfaces ze resuméieren an ze aggregéieren fir de Verglach ze erliichteren:

Iwwersiicht vun GUIs fir Kubernetes
(Online Versioun vum DĂ«sch verfĂŒgbar a Google Docs.)

Konklusioun

Grafesch Interfaces fir Kubernetes sinn eng zimlech spezifesch a jonk Nisch. WĂ©i och Ă«mmer, et entwĂ©ckelt sech ganz aktiv: Dir fannt scho bĂ©id zimlech reife LĂ©isungen a ganz jonk, dĂ©i nach Plaz hunn fir ze wuessen. Si kĂ«mmere sech op eng Vielfalt vun Uwendungen, bidden Features a Looks fir bal all GoĂ»t ze passen. Mir hoffen datt dĂ«s IwwerprĂ©iwung Iech hĂ«lleft dat Tool ze wielen dat am Beschten Ären aktuellen Bedierfnesser passt.

PS

Merci kvaps fir d'OpenShift Console Daten fir d'VerglÀichstabell!

Liest och op eisem Blog:

Source: will.com

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster