Overview sa mga GUI para sa Kubernetes

Overview sa mga GUI para sa Kubernetes

Alang sa bug-os nga trabaho uban sa sistema, ang kahibalo sa command line utilities importante: sa kaso sa Kubernetes, kini ang kubectl. Sa laing bahin, ang maayong pagkadisenyo, mahunahunaon nga mga graphical nga mga interface makahimoΠΎkadaghanan sa naandan nga mga buluhaton ug nagbukas sa dugang nga mga oportunidad alang sa operasyon sa mga sistema.

Sa miaging tuig nagpatik mi ug hubad gamay nga overview sa web UI para sa mga Kubernetes, gitakda nga motakdo sa pagpahibalo sa web interface Kubernetes WebView. Ang tagsulat sa maong artikulo ug ang utility mismo, si Henning Jacobs gikan sa Zalando, nagbutang lang sa bag-ong produkto isip "kubectl para sa web". Gusto niya nga maghimo usa ka himan nga adunay mga kapabilidad sa user-friendly alang sa interaksyon sa usa ka format sa suporta sa teknikal (pananglitan, dali nga gipakita ang problema sa usa ka link sa web) ug alang sa pagtubag sa mga insidente, pagpangita sa mga problema sa daghang mga cluster sa parehas nga oras. Ang iyang mga anak nag-uswag sa karon nga panahon (labi na sa mga paningkamot sa tagsulat mismo).

Sa among pagserbisyo sa daghang Kubernetes cluster nga lainlain ang gidak-on, interesado usab kami nga makahatag ug visual tool sa among mga kustomer. Kung nagpili usa ka angay nga interface, ang mga musunud nga bahin hinungdanon alang kanamo:

  • suporta alang sa pagkalahi sa mga katungod sa tiggamit (RBAC);
  • visualization sa namespace state ug standard Kubernetes primitives (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • pagkuha og access sa command line sulod sa pod;
  • pagtan-aw sa mga troso sa mga pod;
  • tan-awa ang kahimtang sa mga pod (describe status);
  • pagtangtang sa mga pod.

Ang uban nga mga gimbuhaton, sama sa pagtan-aw sa nahurot nga mga kapanguhaan (sa konteksto sa mga pod / controller / namespaces), paghimo / pag-edit sa mga primitibo sa K8, wala’y kalabotan sa among dagan sa trabaho.

Magsugod kami sa pagrepaso gamit ang klasiko nga Kubernetes Dashboard, nga mao ang among sumbanan. Tungod kay ang kalibutan wala mohunong (nga nagpasabot nga ang Kubernetes adunay mas daghang bag-ong mga GUI), maghisgot usab kami mahitungod sa kasamtangang mga alternatibo niini, nga nagsumaryo sa tanan sa usa ka comparative table sa katapusan sa artikulo.

NB: Sa pagrepaso, dili na namo balikon ang mga solusyon nga gikonsiderar na miaging artikulo, bisan pa, alang sa kaayohan sa pagkakompleto, ang may kalabutan nga mga kapilian gikan niini (K8Dash, Octant, Kubernetes Web View) gilakip sa katapusang lamesa.

1. Kubernetes Dashboard

  • Panid sa dokumentasyon;
  • tipiganan (8000+ ka bituon sa GitHub);
  • Lisensya: Apache 2.0;
  • Sa laktud: "Universal web interface alang sa Kubernetes clusters. Gitugotan niini ang mga tiggamit sa pagdumala ug pag-troubleshoot sa mga aplikasyon nga nagdagan sa cluster, ingon man pagdumala sa cluster mismo.

Overview sa mga GUI para sa Kubernetes

Kini usa ka panel sa kinatibuk-ang katuyoan nga nasakup sa mga tagsulat sa Kubernetes sa opisyal nga dokumentasyon (apan dili ma-deploy default). Gidisenyo kini alang sa mga panginahanglan sa adlaw-adlaw nga operasyon ug pag-debug sa mga aplikasyon sa usa ka cluster. Sa balay, gigamit namo kini isip usa ka bug-os nga gaan nga visual tool nga nagtugot kanamo sa paghatag sa mga developers sa gikinahanglan ug igong access sa cluster. Ang mga kapabilidad niini naglangkob sa tanan nilang mga panginahanglan nga mitungha sa proseso sa paggamit sa cluster (sa kini nga artikulo among gipakita ang pipila ka bahin sa panel). Sama sa imong pagtag-an, kini nagpasabut nga kini nakatagbaw sa tanan namong mga kinahanglanon nga gilista sa ibabaw.

Lakip sa mga nag-unang bahin sa Kubernetes Dashboard:

  • Navigation: tan-awa ang mga nag-unang butang sa K8s sa konteksto sa namespaces.
  • Kung aduna kay katungod sa tagdumala, ang panel magpakita sa mga node, namespaces, ug Persistent Volumes. Alang sa mga node, magamit ang mga estadistika sa paggamit sa memorya, processor, alokasyon sa kahinguhaan, metrics, status, panghitabo, ug uban pa.
  • Tan-awa ang mga aplikasyon nga gipakatap sa usa ka namespace pinaagi sa ilang tipo (Deployment, StatefulSet, ug uban pa), mga relasyon tali kanila (ReplicaSet, Horizontal Pod Autoscaler), kinatibuk-an ug personal nga estadistika ug impormasyon.
  • Tan-awa ang mga serbisyo ug Ingresses, ingon man ang ilang mga relasyon sa mga pod ug mga endpoint.
  • Tan-awa ang mga butang ug mga storage sa file: Persistent Volume ug Persistent Volume Claim.
  • Tan-awa ug usba ang ConfigMap ug Sekreto.
  • Tan-awa ang mga log.
  • Pag-access sa command line sa mga sudlanan.

Ang usa ka hinungdanon nga disbentaha (bisan pa, dili alang kanamo) mao nga wala’y suporta alang sa trabaho nga multi-cluster. Ang proyekto aktibo nga gipalambo sa komunidad ug nagmintinar sa may kalabutan nga mga bahin sa pagpagawas sa bag-ong mga bersyon ug mga detalye sa Kubernetes API: ang pinakabag-o nga bersyon sa panel mao ang v2.0.1 Mayo 22, 2020 - Gisulayan alang sa pagkaangay sa Kubernetes 1.18.

2. Lente

Overview sa mga GUI para sa Kubernetes

Ang proyekto nahimutang isip usa ka kompleto nga integrated development environment (IDE) para sa Kubernetes. Dugang pa, kini gi-optimize aron magtrabaho sa daghang mga kumpol ug daghang gidaghanon sa mga pod nga nagdagan niini (gisulayan sa 25 pods).

Panguna nga mga bahin/kapabilidad sa Lens:

  • Ang standalone nga aplikasyon nga wala magkinahanglan og pag-install sa bisan unsang butang sa sulod sa cluster (mas tukma, Prometheus kinahanglan nga makuha ang tanan nga mga sukatan, apan ang usa ka kasamtangan nga pag-install mahimo usab nga magamit alang niini). Ang "main" nga pag-install gihimo sa usa ka personal nga kompyuter nga nagpadagan sa Linux, macOS o Windows.
  • Multi-cluster management (gatusan ka clusters gisuportahan).
  • Pagtan-aw sa kahimtang sa cluster sa tinuud nga oras.
  • Mga graph ug uso sa paggamit sa kahinguhaan nga adunay kasaysayan base sa built-in nga Prometheus.
  • Pag-access sa command line sa mga sudlanan ug sa mga cluster node.
  • Bug-os nga suporta para sa Kubernetes RBAC.

Kasamtangang pagpagawas - 3.5.0 pinetsahan Hunyo 16, 2020 Orihinal nga gihimo ni Kontena, karon ang tanan nga intelektwal nga kabtangan gibalhin sa usa ka espesyal nga organisasyon Lakeland Labs, gitawag nga "usa ka unyon sa cloud native geeks ug technologists", nga maoy responsable sa "pagpreserba ug pagkaanaa sa Kontena's Open Source software ug mga produkto."

Ang Lens mao ang ikaduha nga pinakasikat nga proyekto sa GitHub gikan sa GUI para sa kategoryang Kubernetes, "nawala" lamang ang Kubernets Dashboard mismo. Ang tanan nga uban pang mga solusyon sa Open Source dili gikan sa kategorya nga CLI* labi ka ubos sa pagkapopular.

* Tan-awa ang bahin sa K9s sa bonus nga bahin sa pagrepaso.

3. Kubernetic

Overview sa mga GUI para sa Kubernetes

Kini usa ka proprietary nga aplikasyon nga na-install sa usa ka personal nga kompyuter (Linux, macOS, Windows gisuportahan). Ang mga tagsulat niini nagsaad sa usa ka bug-os nga pag-ilis sa command line utility, ug uban niini - dili kinahanglan nga hinumdoman ang mga sugo ug bisan usa ka napulo ka pilo nga pagtaas sa katulin.

Usa sa mga makapaikag nga bahin sa himan mao ang gitukod nga suporta alang sa mga tsart sa Helm, ug usa sa mga kakulian mao ang kakulang sa mga sukatan sa pasundayag sa aplikasyon.

Panguna nga mga bahin sa Kubernetic:

  • Sayon nga pagpakita sa kahimtang sa cluster. Usa ka screen aron matan-aw ang tanan nga may kalabutan nga mga butang nga cluster ug ang ilang mga dependency; pula/berde nga kahimtang sa pagkaandam para sa tanang butang; cluster status view mode nga adunay real-time nga mga update sa status.
  • Mga buton nga dali nga aksyon alang sa pagtangtang ug pag-scale sa aplikasyon.
  • Suporta alang sa multi-cluster nga operasyon.
  • Yano nga trabaho nga adunay mga namespace.
  • Suporta alang sa mga tsart sa Helm ug mga repositoryo sa Helm (lakip ang mga pribado). Pag-instalar ug pagdumala sa mga tsart sa web interface.

Ang kasamtangan nga gasto sa produkto usa ka usa ka higayon nga pagbayad sa 30 euros alang sa paggamit niini sa usa ka tawo alang sa bisan unsang gidaghanon sa mga namespace ug mga cluster.

4. Kubevious

  • Π‘Π°ΠΉΡ‚;
  • Pagpangita;
  • tipiganan (~500 ka bituon sa GitHub);
  • Lisensya: Apache 2.0
  • Sa laktod nga pagkasulti: "Gihimo sa Kubevious nga luwas ug dali sabton ang mga Kubernetes clusters, configuration sa aplikasyon ug pagtan-aw sa status."

Overview sa mga GUI para sa Kubernetes

Ang ideya sa proyekto mao ang paghimo og usa ka himan nga gidisenyo aron pag-analisar ug pag-debug sa mga pagsumpo sa aplikasyon nga gipakatap sa usa ka cluster. Ang mga tagsulat nag-una nga naka-focus sa pagpatuman niini nga mga bahin, nga nagbilin sa mas kinatibuk-ang mga butang alang sa ulahi.

Pangunang mga bahin ug mga gimbuhaton sa Kubevious:

  • Cluster visualization sa usa ka aplikasyon-sentrik nga paagi: may kalabutan nga mga butang sa interface gigrupo, naglinya sa usa ka hierarchy.
  • Biswal nga pagpakita sa mga dependency sa mga pag-configure ug mga sangputanan sa ilang mga pagbag-o.
  • Pagpakita sa mga kasaypanan sa pag-configure sa cluster: sayop nga paggamit sa mga label, nawala nga mga pantalan, ug uban pa. (By the way, kung interesado ka sa kini nga bahin, pagtagad sa Polarismahitungod sa diin kita nagsulat na.)
  • Dugang pa sa miaging punto, ang pag-ila sa posibleng peligrosong mga sudlanan anaa, i.e. adunay sobra nga mga pribilehiyo (mga hiyas hostPID, hostNetwork, hostIPC, bukid docker.sock ug uban pa).
  • Advanced nga sistema sa pagpangita alang sa cluster (dili lamang sa mga ngalan sa mga butang, apan usab sa ilang mga kabtangan).
  • Mga himan alang sa pagplano sa kapasidad ug pag-optimize sa kapanguhaan.
  • Gitukod-sa "time machine" (ang abilidad sa pagtan-aw sa miaging mga kausaban sa configuration sa mga butang).
  • Ang pagdumala sa RBAC nga adunay usa ka pivot interrelated nga lamesa sa Mga Papel, RoleBindings, ServiceAccounts.
  • Nagtrabaho sa usa ra ka cluster.

Ang proyekto adunay usa ka mubo nga kasaysayan (ang una nga pagpagawas nahitabo kaniadtong Pebrero 11, 2020) ug ingon og adunay usa ka panahon sa pag-stabilize o paghinay sa pag-uswag. Kung ang miaging mga bersyon kanunay nga gipagawas, nan ang pinakabag-o nga pagpagawas (v0.5 Abril 15, 2020) naatras sa inisyal nga dagan sa kalamboan. Tingali tungod kini sa gamay nga gidaghanon sa mga nag-ambag: adunay 4 ra sa kasaysayan sa repository, ug ang tanan nga aktuwal nga trabaho gihimo sa usa ka tawo.

5. Kubewise

  • Pahina sa Proyekto;
  • Lisensya: proprietary (mahimong Open Source);
  • Sa laktud: "Usa ka yano nga multi-platform nga kliyente alang sa Kubernetes."

Overview sa mga GUI para sa Kubernetes

Usa ka bag-ong produkto gikan sa VMware, orihinal nga gihimo isip bahin sa internal nga hackathon (sa Hunyo 2019). Gi-install sa usa ka personal nga kompyuter, nagtrabaho base sa Electron (Linux, macOS ug Windows gisuportahan) ug nagkinahanglan kubectl v1.14.0 o sa ulahi.

Pangunang bahin sa Kubewise:

  • Interaksyon sa interface sa labing kasagarang gigamit nga mga entidad sa Kubernetes: mga node, namespaces, ug uban pa.
  • Suporta alang sa daghang mga kubeconfig nga mga file alang sa lainlaing mga kumpol.
  • Terminal nga adunay kaarang nga magbutang usa ka variable sa palibot KUBECONFIG.
  • Paghimo ug custom nga mga file sa kubeconfig alang sa gihatag nga namespace.
  • Mga advanced nga bahin sa seguridad (RBAC, mga password, mga account sa serbisyo).

Sa pagkakaron, ang proyekto adunay usa lamang ka pagpagawas - bersyon 1.1.0 napetsahan Nobyembre 26, 2019. Dugang pa, ang mga tagsulat nagplano nga buhian dayon kini isip Open Source, apan tungod sa internal nga mga problema (walay kalabotan sa teknikal nga mga isyu) dili nila kini mahimo. Hangtud sa Mayo 2020, ang mga tagsulat nagtrabaho sa sunod nga pagpagawas ug kinahanglan nga magsugod sa proseso sa pagbukas sa code sa parehas nga oras.

6. OpenShift Console

Overview sa mga GUI para sa Kubernetes

Bisan pa sa kamatuoran nga kini nga web interface kabahin sa pag-apod-apod sa OpenShift (gi-install kini didto gamit ang espesyal nga operator), mga tagsulat gitagana alang sa ang abilidad sa pag-instalar / paggamit niini sa normal (vanilla) nga mga instalasyon sa Kubernetes.

Ang OpenShift Console dugay na nga naugmad, mao nga kini adunay daghang mga bahin. Atong hisgotan ang mga nag-unang:

  • Gipaambit nga pamaagi sa interface - duha ka "pananaw" sa mga posibilidad nga magamit sa Console: alang sa mga administrador ug alang sa mga developer. Mode panglantaw sa developer grupo sa mga butang sa usa ka porma nga mas masabtan sa mga developers (sa mga aplikasyon) ug nagpunting sa interface sa pagsulbad sa mga tipikal nga buluhaton sama sa pag-deploy sa mga aplikasyon, pagsubay sa pagtukod/pag-deploy sa status, ug bisan sa pag-edit sa code pinaagi sa Eclipse Che.
  • Pagdumala sa mga workloads, network, pagtipig, mga katungod sa pag-access.
  • Ang lohikal nga pagbulag alang sa mga workloads sa mga proyekto ug aplikasyon. Sa usa sa pinakabag-o nga pagpagawas - v4.3 - mitungha espesyal dashboard sa proyekto, nga nagpakita sa naandan nga datos (ang gidaghanon ug mga status sa deployment, pods, ug uban pa; resource consumption ug uban pang metrics) sa usa ka project slice.
  • Gi-update sa tinuod nga panahon nga pagpakita sa kahimtang sa cluster, mga kausaban (mga panghitabo) nga nahitabo niini; pagtan-aw sa mga troso.
  • Tan-awa ang datos sa pagmonitor base sa Prometheus, Alertmanager ug Grafana.
  • Pagdumala sa mga operator nga girepresentahan sa operatorhub.
  • Pagdumala sa mga pagtukod nga nagdagan pinaagi sa Docker (gikan sa usa ka piho nga repository nga adunay usa ka Dockerfile), S2I o arbitraryong external utilities.

NB: Wala namo gidugang ang uban sa pagtandi Mga distribusyon sa Kubernetes (pananglitan, ang dili kaayo ilado Kubesphere): bisan pa sa kamatuoran nga ang GUI mahimo nga abante kaayo sa kanila, kasagaran kini moabut isip bahin sa integrated stack sa usa ka dako nga sistema. Bisan pa, kung sa imong hunahuna wala’y igo nga mga solusyon nga hingpit nga naglihok sa pag-install sa vanilla K8s, ipahibalo kanamo sa mga komento.

Bonus

1. Portainer sa Kubernetes sa Beta

Usa ka proyekto gikan sa Portainer team, nga nagpalambo sa sikat nga interface sa parehas nga ngalan alang sa pagtrabaho kauban ang Docker. Tungod kay ang proyekto anaa sa sayong bahin sa kalamboan (ang una ug bugtong beta nga bersyon nigawas Abril 16, 2020), wala namo gisusi ang mga bahin niini. Bisan pa, kini mahimong makapaikag sa kadaghanan: kung kini bahin kanimo, sunda ang pag-uswag.

2. IcePanel

Overview sa mga GUI para sa Kubernetes

Kining batan-ong desktop application nagtumong sa paghanduraw ug pagdumala sa mga kapanguhaan sa Kubernetes sa tinuod nga panahon gamit ang yano nga drag & drop interface. Kasamtangang gisuportahan nga mga butang mao ang Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ug Secret. Sa dili madugay sila misaad nga magdugang og suporta alang sa Helm. Ang nag-unang mga disbentaha mao ang pagkasuod sa code (kini gilauman pagbukas "sa pila ka paagi") ug ang kakulang sa suporta sa Linux (hangtod karon ang mga bersyon lamang para sa Windows ug macOS ang anaa, bisan tuod kini lagmit usa ra ka panahon).

3.k9s

  • Π‘Π°ΠΉΡ‚;
  • Pagpakita;
  • tipiganan (~7700 ka bituon sa GitHub);
  • Lisensya: Apache 2.0;
  • Sa laktud: "Usa ka console interface alang sa Kubernetes nga nagtugot kanimo sa pagdumala sa imong cluster sa estilo."

Overview sa mga GUI para sa Kubernetes

Ang utility naa ra sa bonus nga bahin sa pagrepaso tungod sa hinungdan nga nagtanyag kini usa ka console GUI. Bisan pa, ang mga tagsulat literal nga nagpilit sa labing kadaghan gikan sa terminal, nga nagtanyag dili lamang usa ka user-friendly nga interface, apan usab 6 nga gitakda nang daan nga mga tema, ug usa ka advanced nga sistema sa mga keyboard shortcut ug command alias. Ang ilang bug-os nga pamaagi dili limitado sa panagway: k9s mga bahin mao ang pleasantly impresibo: resource management, pagpakita sa kahimtang sa cluster, pagpakita sa mga kapanguhaan sa usa ka hierarchical representasyon uban sa dependencies, pagtan-aw logs, RBAC suporta, pagpalapad kapabilidad pinaagi sa plugins ... Tanan kini apelar sa lapad nga K8s nga komunidad: ang gidaghanon Ang GitHub nga mga bituon sa proyekto halos sama ka maayo sa opisyal nga Kubernetes Dashboard!

4. Mga panel sa pagkontrol sa aplikasyon

Ug sa katapusan sa pagrepaso - usa ka bulag nga mini-category. Naglakip kini sa duha ka mga interface sa web nga gidisenyo dili alang sa komprehensibo nga pagdumala sa mga cluster sa Kubernetes, apan alang sa pagdumala kung unsa ang gipakatap sa kanila.

Sama sa imong nahibal-an, usa sa labing hamtong ug kaylap nga mga himan alang sa pag-deploy sa mga komplikado nga aplikasyon sa Kubernetes mao ang Helm. Sa panahon sa paglungtad niini, daghang mga pakete (mga tsart sa Helm) ang natipon para sa dali nga pag-deploy daghang popular nga mga aplikasyon. Busa, ang dagway sa angay nga visual nga mga himan nga nagtugot kanimo sa pagdumala sa siklo sa kinabuhi sa mga tsart medyo makatarunganon.

4.1. Monocular

  • tipiganan (1300+ ka bituon sa GitHub);
  • Lisensya: Apache 2.0;
  • Sa laktod nga pagkasulti: β€œUsa ka aplikasyon sa web para sa pagpangita ug pagdiskubre sa mga tsart sa Helm sa daghang mga repositoryo. Nagsilbi nga basehan sa proyekto sa Helm hub."

Overview sa mga GUI para sa Kubernetes

Kini nga pag-uswag gikan sa mga tagsulat sa Helm gi-install sa Kubernetes ug nagtrabaho sulod sa parehas nga cluster, nga nagpahigayon sa buluhaton. Bisan pa, sa pagkakaron, ang proyekto wala kaayo nag-uswag. Ang panguna nga katuyoan niini mao ang pagsuporta sa paglungtad sa Helm Hub. Alang sa ubang mga panginahanglanon, girekomenda sa mga tagsulat ang Kubeapps (tan-awa sa ubos) o Red Hat Automation Broker (bahin sa OpenShift, apan wala na usab naugmad).

4.2. Kubeapps

Overview sa mga GUI para sa Kubernetes

Usa ka produkto gikan sa Bitnami, nga gi-install usab sa usa ka Kubernetes cluster, apan lahi sa Monocular sa una nga pagtutok niini sa pagtrabaho sa mga pribadong repositoryo.

Pangunang mga gimbuhaton ug mga bahin sa Kubeapps:

  • Tan-awa ug i-install ang mga tsart sa Helm gikan sa mga repositoryo.
  • Susiha, i-update, ug tangtangon ang mga aplikasyon nga nakabase sa Helm nga na-install sa cluster.
  • Suporta alang sa kostumbre ug pribado nga mga repositoryo sa tsart (nagsuporta sa ChartMuseum ug JFrog Artifactory).
  • Pagtan-aw ug pagtrabaho kauban ang mga serbisyo sa gawas - gikan sa Katalogo sa Serbisyo ug Mga Broker sa Serbisyo.
  • Pagmantala sa mga na-install nga aplikasyon gamit ang mekanismo sa Service Catalog Bindings.
  • Suporta para sa authentication ug pagbulag sa mga katungod gamit ang RBAC.

Lamesa sa han-ay

Sa ubos mao ang usa ka summary table diin among gisulayan ang pag-summarize ug pag-aggregate sa mga nag-unang bahin sa kasamtangan nga visual interface aron mapadali ang pagtandi:

Overview sa mga GUI para sa Kubernetes
(Online nga bersyon sa lamesa anaa sa Google Docs.)

konklusyon

Ang mga GUI alang sa Kubernetes usa ka piho ug batan-on nga niche. Bisan pa, kini aktibo kaayo nga nag-uswag: posible na nga makit-an ang parehas nga hamtong nga mga solusyon, ug mga bata pa, nga adunay lugar nga motubo. Nagsilbi sila sa lainlaing mga aplikasyon, nagtanyag mga bahin ug hitsura nga mohaum sa halos matag lami. Kami nanghinaut nga kini nga pagrepaso makatabang kanimo sa pagpili sa himan nga labing angay sa imong mga panginahanglan karon.

PS

Salamat kvaps alang sa datos sa OpenShift Console alang sa lamesa sa pagtandi!

Basaha usab sa among blog:

Source: www.habr.com

Idugang sa usa ka comment