Kubernetesentzako GUIen ikuspegi orokorra

Kubernetesentzako GUIen ikuspegi orokorra

Sistemarekin erabateko lan egiteko, komando lerroko utilitateen ezagutza garrantzitsua da: Kubernetes-en kasuan, hau kubectl da. Bestalde, ondo diseinatutako eta pentsakor interfaze grafikoek funtziona dezaketeΠΎohiko zeregin gehienak eta sistemen funtzionamendurako aukera gehigarriak irekitzen ditu.

Iaz itzulpen bat argitaratu genuen web interfazearen ikuspegi orokor txikia Kubernetesentzat, web-interfazearen iragarpenarekin bat egiteko programatua Kubernetes WebView. Artikulu horren egileak eta utilitateak berak, Zalandoko Henning Jacobsek, produktu berria "weberako kubectl" gisa kokatu berri du. Laguntza teknikoko formatu batean interakziorako (adibidez, web esteka batekin arazoa azkar erakusteko) eta intzidenteei erantzuteko, aldi berean kluster askotan arazoak bilatzeko gaitasunak dituen tresna bat sortu nahi zuen. Bere kumeak gaur egun garatzen ari dira (egilearen beraren ahaleginak batez ere).

Tamaina ezberdinetako Kubernetes kluster asko zerbitzatzen ditugunez, gure bezeroei tresna bisual bat eskaintzea ere interesatzen zaigu. Interfaze egokia aukeratzerakoan, ezaugarri hauek funtsezkoak izan ziren guretzat:

  • erabiltzaileen eskubideak bereizteko laguntza (RBAC);
  • namespace egoera eta Kubernetes primitibo estandarrak bistaratzea (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • Pod barruan komando-lerrorako sarbidea lortzea;
  • leken erregistroak ikustea;
  • ikusi leken egoera (describe status);
  • lekak kentzea.

Beste funtzio batzuk, esate baterako, kontsumitutako baliabideak ikustea (pods / kontrolagailu / izen-espazioen testuinguruan), K8s primitiboak sortzea / editatzea, ez dira garrantzitsuak gure lan-fluxuan.

Berrikuspena Kubernetes Dashboard klasikoarekin hasiko dugu, hau da, gure estandarra. Mundua geldirik ez dagoenez (horrek esan nahi du Kubernetesek gero eta GUI berri gehiago dituela), gaur egungo alternatibei buruz ere hitz egingo dugu, dena artikuluaren amaierako taula konparatibo batean laburbilduz.

NB: Berrikusketan, ez dugu errepikatuko dagoeneko kontuan hartu diren irtenbideekin azken artikulua, hala ere, osotasunaren mesedetan, bertatik datozen aukerak (K8Dash, Octant, Kubernetes Web View) azken taulan sartzen dira.

1. Kubernetes Arbela

  • Dokumentazio orria;
  • biltegia (8000+ GitHub izar);
  • Lizentzia: Apache 2.0;
  • Laburbilduz: β€œKubernetes klusterrentzako web interfaze unibertsala. Erabiltzaileei aukera ematen die klusterrean exekutatzen diren aplikazioak kudeatzeko eta konpontzeko arazoak, baita kluster-a bera kudeatzeko ere”.

Kubernetesentzako GUIen ikuspegi orokorra

Hau Kuberneteseko egileek dokumentazio ofizialean jasotzen duten helburu orokorreko panela da (baina hedaezinak lehenetsia). Kluster bateko aplikazioen eguneroko funtzionamendurako eta arazketarako beharretarako diseinatuta dago. Etxean, tresna bisual arin gisa erabiltzen dugu, garatzaileei klusterrako beharrezko eta nahikoa sarbide eskaintzeko aukera ematen diena. Bere gaitasunek kluster erabiltzeko prozesuan sortzen diren behar guztiak estaltzen dituzte (In the Artikulu honetan panelaren ezaugarri batzuk erakutsi ditugu). Asma dezakezun bezala, horrek esan nahi du goian zerrendatutako gure eskakizun guztiak betetzen dituela.

Kubernetes Arbelaren ezaugarri nagusien artean:

  • Nabigazioa: ikusi K8s-en objektu nagusiak izen-espazioen testuinguruan.
  • Administratzaile-eskubideak badituzu, panelak nodoak, izen-eremuak eta Bolumen iraunkorrak erakusten ditu. Nodoei dagokienez, memoriaren, prozesadorearen, baliabideen esleipenaren, neurketen, egoeraren, gertaeren eta abarren erabilerari buruzko estatistikak daude eskuragarri.
  • Ikusi izen-espazio batean inplementatutako aplikazioak motaren arabera (Deployment, StatefulSet, etab.), haien arteko erlazioak (ReplicaSet, Horizontal Pod Autoscaler), estatistika eta informazio orokorrak eta pertsonalizatuak.
  • Ikusi zerbitzuak eta Sarrerak, baita pods eta puntuekin dituzten harremanak ere.
  • Ikusi fitxategi-objektuak eta biltegiratzeak: Bolumen Iraunkorra eta Bolumen Iraunkorra Erreklamazioa.
  • Ikusi eta editatu ConfigMap eta Secret.
  • Ikusi erregistroak.
  • Komando-lerroko sarbidea edukiontzietan.

Eragozpen esanguratsu bat (hala ere, ez guretzat) da ez dagoela kluster anitzeko lanerako laguntzarik. Proiektua komunitateak aktiboki garatzen du eta ezaugarri garrantzitsuak mantentzen ditu Kubernetes APIaren bertsio eta zehaztapen berriak kaleratuta: panelaren azken bertsioa da. v2.0.1 22ko maiatzaren 2020a - Kubernetes 1.18rekin bateragarritasuna probatu da.

2. Lenteak

Kubernetesentzako GUIen ikuspegi orokorra

Proiektua Kubernetesentzako garapen-ingurune integratu osoa (IDE) gisa kokatzen da. Gainera, kluster askorekin eta horietan exekutatzen diren pod-kopuru handi batekin lan egiteko optimizatuta dago (25 podetan probatua).

Lens-en ezaugarri/gaitasun nagusiak:

  • Kluster barruan ezer instalatu behar ez duen aplikazio autonomoa (zehatzago esanda, Prometheus-ek neurketa guztiak eskuratu beharko ditu, baina lehendik dagoen instalazio bat ere erabil daiteke horretarako). Instalazio "nagusia" Linux, macOS edo Windows exekutatzen duen ordenagailu pertsonal batean egiten da.
  • Multzo anitzeko kudeaketa (ehunka kluster onartzen dira).
  • Klusterren egoera denbora errealean bistaratzea.
  • Baliabideen erabilera grafikoak eta joerak Prometheus barnean oinarritutako historiarekin.
  • Edukiontzien komando-lerrorako sarbidea eta kluster-nodoetan.
  • Kubernetes RBAC-rako laguntza osoa.

Uneko bertsioa - 3.5.0 16ko ekainaren 2020koa Kontenak sortua jatorriz, gaur jabetza intelektual guztia erakunde berezi batera transferitu da. Lakeland Labs, "Hodeiko jatorrizko geek eta teknologoen batasuna" deitua, zeina "Kontenaren Kode Irekiko software eta produktuen kontserbazioaz eta erabilgarritasunaz arduratzen dena".

Lens GitHub-eko bigarren proiekturik ezagunena da Kubernetes-eko GUI kategoriatik, Kubernets Arbela bera bakarrik "galtzen" duena. CLI* kategoriakoak ez diren Iturburu Irekiko irtenbide guztiak ospea nabarmen apalagoak dira.

* Ikusi K9-i buruz berrikuspenaren bonus zatian.

3. Kubernetic

Kubernetesentzako GUIen ikuspegi orokorra

Ordenagailu pertsonal batean instalatuta dagoen jabedun aplikazio bat da (Linux, macOS, Windows onartzen dira). Bere egileek komando-lerroaren erabilgarritasunaren ordezko osoa agintzen dute, eta horrekin batera, ez dute komandoak gogoratu beharrik eta abiadura hamar aldiz handitu ere.

Tresnaren ezaugarri interesgarrietako bat Helm diagramen euskarria da, eta eragozpenetako bat aplikazioen errendimendu-neurririk eza da.

Kubernetic-en ezaugarri nagusiak:

  • Kluster egoeraren bistaratzea erosoa. Pantaila bat erlazionatutako kluster objektu guztiak eta haien menpekotasunak ikusteko; gorri/berdea prest dagoen egoera objektu guztientzat; kluster egoera ikusteko modua denbora errealeko egoera eguneratzeekin.
  • Aplikazioa ezabatu eta eskalatzeko ekintza azkarreko botoiak.
  • Kluster anitzeko funtzionamendurako laguntza.
  • Lan sinplea izen-espazioekin.
  • Helm diagramak eta Helm biltegietarako laguntza (pribatuak barne). Diagramak instalatzea eta kudeatzea web interfazean.

Produktuaren egungo kostua 30 euroko ordainketa bakarrekoa da, pertsona batek edozein izen-espazio eta klustertarako erabiltzeagatik.

4. Kubevious

  • Web;
  • Aurkezpen;
  • biltegia (~ 500 GitHub izar);
  • Lizentzia: Apache 2.0
  • Laburbilduz: "Kubevious-ek Kubernetes klusterrak, aplikazioen konfigurazioa eta egoera ikustea seguru eta ulerterraz egiten ditu".

Kubernetesentzako GUIen ikuspegi orokorra

Proiektuaren ideia kluster batean zabaldutako aplikazioen konfigurazioak aztertzeko eta arazketa egiteko diseinatutako tresna bat sortzea da. Egileek ezaugarri horien ezarpenean zentratu ziren batik bat, gauza orokorragoak gerorako utziz.

Kubevious-en ezaugarri eta funtzio nagusiak:

  • Klusteren bistaratzea aplikazioetan zentratuta dagoen moduan: interfazeko erlazionatutako objektuak taldekatzen dira, hierarkia batean lerrokatuta.
  • Konfigurazioetako menpekotasunen bisuala eta haien aldaketen kaskadako ondorioak.
  • Klusterraren konfigurazio-erroreen bistaratzea: etiketen erabilera okerra, galdutako atakak, etab. (Bide batez, eginbide hau interesatzen bazaizu, jarri arreta Polarishorri buruz guk dagoeneko idatzia.)
  • Aurreko puntuaz gain, arriskutsuak izan daitezkeen ontzien detekzioa eskuragarri dago, hau da. pribilegio gehiegi izatea (atributuak hostPID, hostNetwork, hostIPC, muntatu docker.sock etab).
  • Klusterraren bilaketa-sistema aurreratua (ez bakarrik objektuen izenen arabera, baita haien propietateen arabera ere).
  • Ahalmena planifikatzeko eta baliabideak optimizatzeko tresnak.
  • "Denboraren makina" integratua (objektuen konfigurazioan aurreko aldaketak ikusteko gaitasuna).
  • RBAC kudeaketa Rol, RoleBindings, ServiceAccounts taula pibo batekin.
  • Kluster bakarrarekin funtzionatzen du.

Proiektuak oso historia laburra du (lehen kaleratzea 11ko otsailaren 2020n egin zen) eta badirudi garapenean egonkortze edo moteltze aldi bat egon dela. Aurreko bertsioak maiz kaleratzen baziren, azken bertsioa (v0.5 15ko apirilaren 2020a) hasierako garapen erritmoaren atzean geratu da. Hau kolaboratzaile kopuru txikiagatik gertatu da ziurrenik: biltegiaren historian 4 baino ez daude, eta benetako lan guztia pertsona batek egiten du.

5. Kubewise

  • Proiektuaren Orria;
  • Lizentzia: jabeduna (Kode Ireki bihurtuko da);
  • Laburbilduz: "Kubernetesentzako plataforma anitzeko bezero soila".

Kubernetesentzako GUIen ikuspegi orokorra

VMware-ren produktu berri bat, jatorriz barneko hackathon baten barruan sortua (2019ko ekainean). Ordenagailu pertsonal batean instalatuta, oinarrian funtzionatzen du Electron (Linux, macOS eta Windows onartzen dira) eta kubectl v1.14.0 edo berriagoa behar du.

Kubewise-ren ezaugarri nagusiak:

  • Gehien erabiltzen diren Kubernetes entitateekin interfaze-interakzioa: nodoak, izen-espazioak, etab.
  • Kubeconfig fitxategi anitzentzako laguntza kluster desberdinetarako.
  • Inguruko aldagai bat ezartzeko gaitasuna duen terminala KUBECONFIG.
  • Sortu kubeconfig fitxategi pertsonalizatuak emandako izen-espaziorako.
  • Segurtasun-eginbide aurreratuak (RBAC, pasahitzak, zerbitzu-kontuak).

Orain arte, proiektuak bertsio bakarra du - bertsioa 1.1.0 26ko azaroaren 2019koa. Gainera, egileek berehala Iturburu Ireki gisa kaleratzeko asmoa zuten, baina barne arazoengatik (arazo teknikoekin zerikusirik ez zutenez) ezin izan zuten hori egin. 2020ko maiatzetik aurrera, egileak hurrengo bertsioan lanean ari dira eta aldi berean kode irekiko prozesua hasi beharko lukete.

6. OpenShift Console

Kubernetesentzako GUIen ikuspegi orokorra

Web interfaze hau OpenShift banaketaren parte izan arren (bertan instalatzen da operadore berezia), egileak aurreikusita Kubernetes instalazio arruntetan (banila) instalatzeko / erabiltzeko gaitasuna.

OpenShift Console denbora luzez garatzen ari da, eta, beraz, funtzio asko sartu ditu. Nagusienak aipatuko ditugu:

  • Interfaze partekatuaren ikuspegia - Kontsolan dauden aukeren bi "ikuspegi": administratzaileentzat eta garatzaileentzat. Era garatzaileen ikuspegia Objektuak garatzaileentzat ulergarriagoa den forma batean taldekatzen ditu (aplikazioen arabera) eta interfazea ohiko zereginak konpontzera bideratzen du aplikazioak zabaltzea, eraikitze/inplementatze egoeraren jarraipena eta baita kodea editatzea ere Eclipse Che-ren bidez.
  • Lan-kargak, sarea, biltegiratzea, sarbide-eskubideak kudeatzea.
  • Lan-kargak proiektu eta aplikazioetan bereizketa logikoa. Azken bertsioetako batean - v4.3 - agertu bereziak proiektuaren panela, ohiko datuak (inplementazioen kopurua eta egoerak, podak, etab.; baliabideen kontsumoa eta beste neurgailu batzuk) proiektu zati batean bistaratzen dituena.
  • Klusterraren egoera, bertan gertatutako aldaketak (gertaerak) denbora errealean bistaratzea eguneratua; erregistroak ikustea.
  • Ikusi jarraipen-datuak Prometheus, Alertmanager eta Grafana-n oinarrituta.
  • urtean ordezkatutako operadoreen kudeaketa operadore-hub.
  • Kudeatu Docker bidez exekutatzen diren eraikuntzak (Dockerfile batekin zehaztutako biltegi batetik), S2I edo kanpoko utilitate arbitrarioak.

NB: Ez ditugu beste batzuk gehitu konparazioan Kubernetes banaketak (adibidez, askoz ere ezezaguna dena Kubesfera): GUI-a oso aurreratua izan daitekeen arren, normalean sistema handi baten pila integratuaren zati gisa etortzen da. Hala ere, bainila K8s instalazioan guztiz funtzionatzen duten irtenbide nahikorik ez dagoela uste baduzu, jakinarazi iezaguzu iruzkinetan.

bonus

1. Portainer Kubernetes-en Beta-n

  • Web;
  • biltegia (~ 100 GitHub izar);
  • Lizentzia: Zlib(?) (berdin gurasoen proiektuarekin).

Portainer taldearen proiektu bat, Dockerrekin lan egiteko izen bereko interfaze ezaguna garatu zuena. Proiektua garapenaren hasierako fasean dagoenez (lehen beta bertsioa eta bakarra atera zen 16ko apirilaren 2020an), ez ditugu bere ezaugarriak ebaluatu. Hala ere, askorentzat interesgarria izan daiteke: hau zuri buruzkoa bada, jarraitu garapena.

2. IzotzPanela

  • Web;
  • Lizentzia: jabeduna;
  • Laburbilduz: "Visual Kubernetes Editor".

Kubernetesentzako GUIen ikuspegi orokorra

Mahaigaineko aplikazio gazte honek Kubernetesen baliabideak denbora errealean bistaratu eta kudeatzea du helburu arrastatu eta jaregin interfaze sinple batekin. Gaur egun onartzen diren objektuak Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap eta Secret dira. Laster Helm-en laguntza gehituko dutela agintzen dute. Desabantaila nagusiak kodearen hurbiltasuna dira (espero da "nolabait" irekitzea) eta Linux-en euskarririk eza (orain arte Windows eta macOS-erako bertsioak bakarrik daude eskuragarri, nahiz eta ziurrenik hori ere denbora kontua den).

3.k9s

  • Web;
  • manifestazioa;
  • biltegia (~ 7700 GitHub izar);
  • Lizentzia: Apache 2.0;
  • Laburbilduz: "Kubernetesentzako kontsola interfazea, zure clusterra estiloan kudeatzeko aukera ematen dizuna".

Kubernetesentzako GUIen ikuspegi orokorra

Erabilgarritasuna berrikuspenaren bonus zatian bakarrik zegoen kontsola GUI bat eskaintzen duelako. Hala ere, egileek literalki terminaletik ahalik eta gehien estutu zuten, erabiltzaileentzako interfaze atsegina ez ezik, aurrez definitutako 6 gai eta teklatu lasterbideen eta komandoen aliasen sistema aurreratu bat ere eskainiz. Haien ikuspegi sakona ez zen itxurara mugatu: k9s-en ezaugarriak atseginez ikusgarriak dira: baliabideen kudeaketa, klusterraren egoera bistaratzea, baliabideak mendekotasunekin irudikapen hierarkikoan bistaratzea, erregistroak ikustea, RBAC euskarria, gaitasunak hedatzea pluginen bidez... Horrek guztiak erakargarria izan zuen. K8s komunitate zabalari: proiektuaren GitHub izarrak Kubernetes Arbel ofiziala bezain onak dira!

4. Aplikazioen kontrol-panelak

Eta berrikuspenaren amaieran - aparteko mini-kategoria. Kubernetes klusterren kudeaketa integralerako diseinatutako bi web interfaze barne hartzen zituen, haietan zabaldutakoa kudeatzeko baizik.

Dakizuenez, Kubernetes-en aplikazio konplexuak zabaltzeko tresnarik heldu eta hedatuenetako bat Helm da. Bere existentzian zehar, pakete asko (Helm diagramak) pilatu dira erraz hedatzeko aplikazio ezagun asko. Hori dela eta, diagramen bizi-zikloa kudeatzeko aukera ematen duten bisual tresna egokiak agertzea nahiko logikoa da.

4.1. Monokularra

  • biltegia (1300+ GitHub izar);
  • Lizentzia: Apache 2.0;
  • Laburbilduz: β€œHelm diagramak biltegi anitzetan bilatzeko eta ezagutzeko web aplikazioa. Helm hub proiektuaren oinarri gisa balio du".

Kubernetesentzako GUIen ikuspegi orokorra

Helm-en egileen garapen hau Kubernetesen instalatuta dago eta kluster berean funtzionatzen du, zeregina eginez. Hala ere, gaur egun, proiektua ia ez dago garatuta. Bere helburu nagusia Helm Hub-aren existentziari eustea da. Beste beharretarako, egileek Kubeapps (ikus behean) edo Red Hat Automation Broker gomendatzen dute (OpenShift-en parte, baina baita jada garatzen ari ez dena).

4.2. Kubeapps

  • Web;
  • Aurkezpen;
  • biltegia (~ 2100 GitHub izar);
  • Lizentzia: Apache 2.0
  • Laburbilduz: "Kubernetes-erako zure aplikazioen panela".

Kubernetesentzako GUIen ikuspegi orokorra

Bitnami-ren produktu bat, Kubernetes kluster batean ere instalatuta dagoena, baina Monocularengandik desberdina den biltegi pribatuekin lan egiteko hasierako arretagatik.

Kubeapps-en funtsezko funtzioak eta ezaugarriak:

  • Ikusi eta instalatu Helm diagramak biltegietatik.
  • Egiaztatu, eguneratu eta kendu Helm-en oinarritutako aplikazioak klusterrean instalatuta.
  • Diagrama-biltegi pertsonalizatu eta pribatuetarako laguntza (ChatMuseum eta JFrog Artifactory onartzen ditu).
  • Kanpoko zerbitzuak ikustea eta lan egitea - Zerbitzuen Katalogotik eta Zerbitzu Artekarietatik.
  • Instalatutako aplikazioak argitaratzea Service Catalog Bindings mekanismoa erabiliz.
  • RBAC erabiliz eskubideak autentifikatzeko eta bereizteko laguntza.

Laburpen taula

Jarraian, lehendik dauden ikus-interfazeen ezaugarri nagusiak laburtzen eta batzen saiatu garen laburpen-taula bat dago konparazioa errazteko:

Kubernetesentzako GUIen ikuspegi orokorra
(Taularen sareko bertsioa Google Docs-en eskuragarri.)

Ondorioa

Kubernetesentzako GUI-ak nitxo zehatz eta gazte samarrak dira. Hala ere, oso aktiboki garatzen ari da: dagoeneko posible da irtenbide nahiko helduak eta oso gazteak aurkitzea, oraindik hazteko lekua dutenak. Hainbat aplikazio betetzen dituzte, ia gustu guztietara egokitzen diren ezaugarriak eta itxura eskainiz. Berrikuspen honek zure egungo beharretara hobekien egokitzen den tresna aukeratzen lagunduko dizula espero dugu.

PS

Eskerrik asko kvaps OpenShift Consoleko datuetarako konparazio taularako!

Irakurri ere gure blogean:

Iturria: www.habr.com

Gehitu iruzkin berria