Superrigardo de GUI-oj por Kubernetes

Superrigardo de GUI-oj por Kubernetes

Por plena laboro kun la sistemo, scio pri komandliniaj utilecoj estas grava: en la kazo de Kubernetes, ĉi tio estas kubectl. Aliflanke, bone dezajnitaj, pripensemaj grafikaj interfacoj povas funkciiоla plej multaj el la kutimaj taskoj kaj malfermas pliajn ŝancojn por la funkciado de sistemoj.

Pasintjare ni publikigis tradukon malgranda superrigardo de TTT-IU por Kubernetes, tempigita por koincidi kun la anonco de la interreta interfaco Kubernetes WebView. La aŭtoro de tiu artikolo kaj la utileco mem, Henning Jacobs el Zalando, ĵus poziciigis la novan produkton kiel "kubectl por la reto". Li volis krei ilon kun uzant-amika kapabloj por interago en teknika subtena formato (ekzemple, rapide montri la problemon per retligo) kaj por respondi al incidentoj, serĉante problemojn en multaj aretoj samtempe. Lia idaro disvolviĝas nuntempe (ĉefe pro la klopodoj de la aŭtoro mem).

Ĉar ni servas multajn Kubernetes-grupojn de diversaj grandecoj, ni ankaŭ interesiĝas pri povi provizi vidan ilon al niaj klientoj. Elektinte taŭgan interfacon, la sekvaj funkcioj estis ŝlosilaj por ni:

  • subteno por diferencigo de uzantrajtoj (RBAC);
  • bildigo de la nomspaco-ŝtato kaj normaj Kubernetes-primitivoj (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • akiri aliron al la komandlinio ene de la pod;
  • vidante protokolojn de balgoj;
  • vidi la staton de balgoj (describe status);
  • forigante gusojn.

Aliaj funkcioj, kiel vidi konsumitajn rimedojn (en la kunteksto de podoj/regiloj/nomspacoj), kreado/redaktado de K8-aj primitivuloj, ne rilatas en nia laborfluo.

Ni komencos la revizion per la klasika Kubernetes Dashboard, kiu estas nia normo. Ĉar la mondo ne staras (tio signifas, ke Kubernetes havas pli kaj pli da novaj GUI-oj), ni ankaŭ parolos pri ĝiaj nunaj alternativoj, resumante ĉion en kompara tabelo fine de la artikolo.

NB: En la recenzo, ni ne ripetos kun tiuj solvoj kiuj jam estis pripensitaj en lasta artikolo, tamen, por kompleteco, la koncernaj elektoj de ĝi (K8Dash, Octant, Kubernetes Web View) estas inkluzivitaj en la fina tabelo.

1. Kubernetes Panelo

  • Dokumenta paĝo;
  • deponejo (8000+ GitHub-steloj);
  • Permesilo: Apache 2.0;
  • Mallonge: "Universala TTT-interfaco por Kubernetes-grupoj. Ĝi permesas al uzantoj administri kaj solvi problemojn pri aplikaĵoj kurantaj en la areto, kaj ankaŭ administri la areton mem."

Superrigardo de GUI-oj por Kubernetes

Ĉi tio estas ĝeneraluzebla panelo kovrita de la aŭtoroj de Kubernetes en la oficiala dokumentaro (sed nedeplojebla defaŭlte). Ĝi estas desegnita por la bezonoj de ĉiutaga operacio kaj senararigado de aplikoj en areto. Hejme, ni uzas ĝin kiel plentaŭgan malpezan vidan ilon, kiu ebligas al ni provizi programistojn per la necesa kaj sufiĉa aliro al la areto. Ĝiaj kapabloj kovras ĉiujn iliajn bezonojn, kiuj ŝprucas en la procezo de uzado de la areto (en ĉi tiu artikolo ni montris kelkajn funkciojn de la panelo). Kiel vi eble konjektas, tio signifas, ke ĝi kontentigas ĉiujn niajn postulojn listigitajn supre.

Inter la ĉefaj trajtoj de Kubernetes Dashboard:

  • Navigado: rigardu la ĉefajn objektojn de K8s en la kunteksto de nomspacoj.
  • Se vi havas administrantajn rajtojn, la panelo montras nodojn, nomspacojn kaj Konstantajn Volumojn. Por nodoj, statistikoj estas haveblaj pri la uzo de memoro, procesoro, resursa asigno, metriko, statuso, eventoj ktp.
  • Rigardu aplikaĵojn deplojitaj en nomspaco laŭ ilia tipo (Deployment, StatefulSet, ktp.), rilatoj inter ili (ReplicaSet, Horizontal Pod Autoscaler), ĝeneralaj kaj personigitaj statistikoj kaj informoj.
  • Rigardu servojn kaj Enirojn, same kiel iliajn rilatojn kun podoj kaj finpunktoj.
  • Rigardu dosierobjektojn kaj stokaĵojn: Konstanta Volumo kaj Konstanta Volumo-Aserto.
  • Vidu kaj redaktu ConfigMap kaj Secret.
  • Vidi protokolojn.
  • Komandlinia aliro en ujoj.

Grava malavantaĝo (tamen, ne por ni) estas, ke ne ekzistas subteno por plur-grupo laboro. La projekto estas aktive disvolvita de la komunumo kaj konservas koncernajn funkciojn kun la publikigo de novaj versioj kaj specifoj de la Kubernetes API: la plej nova versio de la panelo estas v2.0.1 22 majo 2020 - Provita por kongruo kun Kubernetes 1.18.

2. Lenso

Superrigardo de GUI-oj por Kubernetes

La projekto estas poziciigita kiel kompleta integra evolumedio (IDE) por Kubernetes. Plie, ĝi estas optimumigita por labori kun multaj aretoj kaj granda nombro da podoj kurantaj en ili (provita sur 25 podoj).

Ĉefaj trajtoj/kapabloj de Lens:

  • Memstara aplikaĵo, kiu ne postulas instaladon de io ajn ene de la areto (pli precize, Prometheus estos postulata por akiri ĉiujn metrikojn, sed ekzistanta instalado ankaŭ povas esti uzata por ĉi tio). La "ĉefa" instalado estas farita sur persona komputilo, kiu funkcias Linukso, macOS aŭ Vindozo.
  • Multi-cluster-administrado (centoj da aretoj subtenataj).
  • Bildigo de la stato de la areto en reala tempo.
  • Grafikaĵoj kaj tendencoj de uzado de rimedoj kun historio bazita sur enkonstruita Prometeo.
  • Aliro al la komandlinio de ujoj kaj sur grapolnodoj.
  • Plena subteno por Kubernetes RBAC.

Nuna eldono - 3.5.0 datita la 16-an de junio 2020 Origine kreita de Kontena, hodiaŭ la tuta intelekta proprieto estas transdonita al speciala organizo Lakeland Labs, nomita "unuiĝo de nubo-indiĝenaj geeks kaj teknologoj", kiu respondecas pri la "konservado kaj havebleco de la Malferma Fonta programaro kaj produktoj de Kontena."

Lens estas la dua plej populara projekto en GitHub el la kategorio GUI por Kubernetes, "perdante" nur la Kubernets Dashboard mem. Ĉiuj aliaj Malfermfontaj solvoj ne el la kategorio CLI* estas signife malsuperaj en populareco.

* Vidu pri K9s en la bonusparto de la recenzo.

3. Kubernetiko

Superrigardo de GUI-oj por Kubernetes

Ĉi tio estas proprieta aplikaĵo instalita en persona komputilo (Linukso, macOS, Vindozo estas subtenataj). Ĝiaj aŭtoroj promesas kompletan anstataŭigon de la komandlinia utileco, kaj kun ĝi - ne necesas memori komandojn kaj eĉ dekoble pliiĝon de rapideco.

Unu el la interesaj trajtoj de la ilo estas la enkonstruita subteno por Helm-diagramoj, kaj unu el la malavantaĝoj estas la manko de aplikaj agado-metrikoj.

Ĉefaj trajtoj de Kubernetic:

  • Konvena montrado de la stato de grapo. Unu ekrano por vidi ĉiujn rilatajn aretobjektojn kaj iliajn dependecojn; ruĝa/verda preteco statuso por ĉiuj objektoj; reĝimo de vid-statuso de grapo kun realtempaj statusaj ĝisdatigoj.
  • Rapidaj agaj butonoj por forigi kaj grimpi la aplikaĵon.
  • Subteno por plur-grupo operacio.
  • Simpla laboro kun nomspacoj.
  • Subteno por Helm-diagramoj kaj Helm-deponejoj (inkluzive de privataj). Instali kaj administri leterojn en la retinterfaco.

La nuna kosto de la produkto estas unufoja pago de 30 eŭroj por ĝia uzo de unu persono por ajna nombro da nomspacoj kaj aretoj.

4. Kubevious

  • retpaĝaro;
  • Prezento;
  • deponejo (~500 GitHub-steloj);
  • Licenco: Apache 2.0
  • Resume: "Kubevious faras Kubernetes-grupojn, aplikaĵagordon kaj statusan rigardadon sekura kaj facile komprenebla."

Superrigardo de GUI-oj por Kubernetes

La ideo de la projekto estas krei ilon desegnitan por analizi kaj sencimigi aplikaĵajn agordojn deplojitaj en areto. La aŭtoroj koncentriĝis ĉefe pri la efektivigo de ĉi tiuj trajtoj, lasante pli ĝeneralajn aferojn por poste.

Ĉefaj trajtoj kaj funkcioj de Kubevious:

  • Grapo-bildigo en aplik-centra maniero: rilataj objektoj en la interfaco estas grupigitaj, viciĝante en hierarkio.
  • Vida montrado de dependecoj en agordoj kaj kaskadaj sekvoj de iliaj ŝanĝoj.
  • Montrado de eraroj de agordo de grapo: misuzo de etikedoj, maltrafitaj havenoj, ktp. (Cetere, se vi interesiĝas pri ĉi tiu funkcio, atentu Polarispri kiu ni jam skribis.)
  • Krom la antaŭa punkto disponeblas detekto de eble danĝeraj ujoj, t.e. havante tro da privilegioj (atributoj hostPID, hostNetwork, hostIPC, monto docker.sock ktp).
  • Altnivela serĉsistemo por la areto (ne nur laŭ la nomoj de objektoj, sed ankaŭ laŭ iliaj trajtoj).
  • Iloj por kapacita planado kaj rimeda optimumigo.
  • Enkonstruita "tempomaŝino" (la kapablo vidi antaŭajn ŝanĝojn en la agordo de objektoj).
  • RBAC-administrado kun pivota interrilata tabelo de Roloj, RoleBindings, ServiceAccounts.
  • Funkcias kun nur unu areto.

La projekto havas tre mallongan historion (la unua eldono okazis la 11-an de februaro 2020) kaj ŝajnas, ke okazis periodo de aŭ stabiligo aŭ malrapidiĝo en evoluo. Se antaŭaj versioj estis publikigitaj ofte, tiam la plej nova eldono (v0.5 April 15, 2020) postrestis malantaŭ la komenca ritmo de evoluo. Ĉi tio verŝajne estas pro la malgranda nombro da kontribuantoj: estas nur 4 el ili en la historio de la deponejo, kaj la tuta reala laboro estas farita de unu persono.

5. Kubewise

  • Projekta Paĝo;
  • Permesilo: proprieta (iĝos Malferma Fonto);
  • Resume: "Simpla plurplatforma kliento por Kubernetes."

Superrigardo de GUI-oj por Kubernetes

Nova produkto de VMware, origine kreita kiel parto de interna hakatono (en junio 2019). Instalita sur persona komputilo, funkcias surbaze de Elektroniko (Linukso, macOS kaj Vindozo subtenataj) kaj postulas kubectl v1.14.0 aŭ poste.

Ĉefaj trajtoj de Kubewise:

  • Interfaca interago kun la plej ofte uzataj Kubernetes-unuoj: nodoj, nomspacoj, ktp.
  • Subteno por pluraj kubeconfig dosieroj por malsamaj aretoj.
  • Terminalo kun la kapablo agordi mediovariablon KUBECONFIG.
  • Generu kutimajn kubeconfig dosierojn por la donita nomspaco.
  • Altnivelaj sekurecaj funkcioj (RBAC, pasvortoj, servokontoj).

Ĝis nun, la projekto havas nur unu eldonon - version 1.1.0 datita la 26-an de novembro 2019. Cetere, la aŭtoroj planis tuj liberigi ĝin kiel Malferma Fonto, sed pro internaj problemoj (ne rilataj al teknikaj aferoj) ili ne povis fari tion. Ekde majo 2020, la aŭtoroj laboras pri la venonta eldono kaj devus komenci la kodan malferman procezon samtempe.

6. OpenShift Konzolo

Superrigardo de GUI-oj por Kubernetes

Malgraŭ tio, ke ĉi tiu retinterfaco estas parto de la distribuo OpenShift (ĝi estas instalita tie uzante speciala funkciigisto), aŭtoroj provizita por la kapablo instali / uzi ĝin en normalaj (vanilaj) instalaĵoj de Kubernetes.

OpenShift Console estas evoluinta dum longa tempo, do ĝi korpigis multajn funkciojn. Ni mencios la ĉefajn:

  • Komuna interfaco aliro - du "perspektivoj" de la eblecoj disponeblaj en la Konzolo: por administrantoj kaj por programistoj. Reĝimo perspektivo de programisto grupigas objektojn en pli komprenebla formo por programistoj (per aplikoj) kaj enfokusigas la interfacon pri solvado de tiaj tipaj taskoj kiel deplojado de aplikaĵoj, spurado de konstruo/deplojo statuso, kaj eĉ redaktado de kodo per Eclipse Che.
  • Administrado de laborŝarĝoj, reto, stokado, alirrajtoj.
  • Logika apartigo por laborkvantoj en projektojn kaj aplikojn. En unu el la plej novaj eldonoj - v4.3 - aperis speciala projekto panelo, kiu montras la kutimajn datumojn (la nombro kaj statoj de deplojoj, podoj, ktp.; konsumo de rimedoj kaj aliaj metrikoj) en projekttranĉo.
  • Ĝisdatigita en realtempa montrado de la stato de la areto, ŝanĝoj (okazaĵoj) kiuj okazis en ĝi; vidante protokolojn.
  • Vidu monitorajn datumojn bazitajn sur Prometheus, Alertmanager kaj Grafana.
  • Administrado de funkciigistoj reprezentitaj en operatorhub.
  • Administri konstruaĵojn kiuj funkcias per Docker (de specifita deponejo kun Dockerfile), S2I aŭ arbitraj eksteraj utilecoj.

NB: Ni ne aldonis aliajn al la komparo Kubernetes-distribuoj (ekzemple la multe malpli konata Kubesfero): malgraŭ tio, ke la GUI povas esti tre progresinta en ili, ĝi kutime venas kiel parto de la integra stako de granda sistemo. Tamen, se vi pensas, ke ne ekzistas sufiĉe da solvoj, kiuj plene funkcias en la instalaĵo de vanilo K8s, informu nin en la komentoj.

Bono

1. Portainer sur Kubernetes en Beta

  • retpaĝaro;
  • deponejo (~100 GitHub-steloj);
  • Licenco: Zlib(?) (same por la gepatra projekto).

Projekto de la Portainer-teamo, kiu evoluigis la popularan interfacon de la sama nomo por labori kun Docker. Ĉar la projekto estas en frua stadio de evoluo (la unua kaj nur beta-versio eliris la 16-an de aprilo 2020), ni ne taksis ĝiajn trajtojn. Tamen, ĝi povas interesi multajn: se ĉi tio temas pri vi, sekvu la evoluon.

2. Glacia Panelo

  • retpaĝaro;
  • Licenco: proprieta;
  • Resume: "Vida Kubernetes Redaktoro".

Superrigardo de GUI-oj por Kubernetes

Ĉi tiu juna labortabla aplikaĵo celas bildigi kaj administri Kubernetes-resursojn en reala tempo per simpla treni kaj faligi interfacon. Nuntempe subtenataj objektoj estas Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap kaj Secret. Baldaŭ ili promesas aldoni subtenon por Helm. La ĉefaj malavantaĝoj estas la proksimeco de la kodo (ĝi estas atendita malfermante "iel") kaj la manko de Linukso-subteno (ĝis nun disponeblas nur versioj por Vindozo kaj macOS, kvankam tio ankaŭ plej verŝajne estas nur demando de tempo).

3.k9s

  • retpaĝaro;
  • Manifestacio;
  • deponejo (~7700 GitHub-steloj);
  • Permesilo: Apache 2.0;
  • Resume: "Konzola interfaco por Kubernetes, kiu ebligas al vi administri vian grapolon laŭstile."

Superrigardo de GUI-oj por Kubernetes

La utileco estis nur en la bonusparto de la revizio pro tio, ke ĝi ofertas konzolan GUI. Tamen, la aŭtoroj laŭvorte elpremis la maksimumon el la terminalo, proponante ne nur uzant-amika interfaco, sed ankaŭ 6 antaŭdifinitajn temojn, kaj altnivelan sistemon de klavaraj ŝparvojoj kaj komandaj kaŝnomoj. Ilia ĝisfunda aliro ne estis limigita al aspekto: la funkcioj de k9s estas agrable imponaj: administrado de rimedoj, montrado de la stato de la areto, montrado de rimedoj en hierarkia reprezento kun dependecoj, vidado de protokoloj, RBAC-subteno, etendado de kapabloj per kromaĵoj... Ĉio ĉi allogis. al la larĝa komunumo K8s: la nombro La GitHub-steloj de la projekto estas preskaŭ same bona kiel la oficiala Kubernetes Dashboard!

4. Aplikaj kontrolpaneloj

Kaj ĉe la fino de la recenzo - aparta mini-kategorio. Ĝi inkludis du retajn interfacojn dizajnitajn ne por la ampleksa administrado de Kubernetes-aretoj, sed por administri kio estas deplojita en ili.

Kiel vi scias, unu el la plej maturaj kaj disvastigitaj iloj por disfaldi kompleksajn aplikojn en Kubernetes estas Helm. Dum la periodo de ĝia ekzisto, multaj pakaĵoj (Helm-diagramoj) akumuliĝis por facila deplojo multaj popularaj aplikoj. Tial, la apero de taŭgaj vidaj iloj, kiuj permesas vin administri la vivociklon de leteroj, estas sufiĉe logika.

4.1. Unuokula

  • deponejo (1300+ GitHub-steloj);
  • Permesilo: Apache 2.0;
  • Resume: "Reta aplikaĵo por serĉi kaj malkovri Helm-diagramojn tra pluraj deponejoj. Funkcias kiel bazo por la Helm hubprojekto."

Superrigardo de GUI-oj por Kubernetes

Ĉi tiu evoluo de la aŭtoroj de Helm estas instalita en Kubernetes kaj funkcias ene de la sama areto, plenumante la taskon. Tamen, nuntempe, la projekto preskaŭ ne estas disvolvita. Ĝia ĉefa celo estas subteni la ekziston de la Helm Hub. Por aliaj bezonoj, la aŭtoroj rekomendas Kubeapps (vidu malsupre) aŭ Red Hat Automation Broker (parto de OpenShift, sed ankaŭ ne plu evoluinta).

4.2. Kubeapps

Superrigardo de GUI-oj por Kubernetes

Produkto de Bitnami, kiu ankaŭ estas instalita en Kubernetes-areto, sed diferencas de Monocular pro sia komenca fokuso pri laboro kun privataj deponejoj.

Ŝlosilaj funkcioj kaj funkcioj de Kubeapps:

  • Vidu kaj instalu Helm-diagramojn el deponejoj.
  • Kontrolu, ĝisdatigu kaj forigu Helm-bazitajn aplikaĵojn instalitajn sur la areto.
  • Subteno por kutimaj kaj privataj diagramaj deponejoj (subtenas ChartMuseum kaj JFrog Artifactory).
  • Vidante kaj labori kun eksteraj servoj - de la Servo-Katalogo kaj Servo-Makleristoj.
  • Eldoni instalitajn aplikaĵojn per la mekanismo de Service Catalog Bindings.
  • Subteno por aŭtentikigo kaj apartigo de rajtoj uzante RBAC.

Resuma tabelo

Malsupre estas resuma tabelo en kiu ni provis resumi kaj kunigi la ĉefajn trajtojn de ekzistantaj vidaj interfacoj por faciligi komparon:

Superrigardo de GUI-oj por Kubernetes
(Reta versio de la tabelo disponebla en Google Docs.)

konkludo

GUI-oj por Kubernetes estas sufiĉe specifa kaj juna niĉo. Tamen ĝi disvolviĝas tre aktive: jam eblas trovi kaj sufiĉe maturajn solvojn, kaj tre junajn, kiuj ankoraŭ havas lokon por kreski. Ili servas diversajn aplikojn, proponante funkciojn kaj aspektojn por preskaŭ ĉiuj gustoj. Ni esperas, ke ĉi tiu recenzo helpos vin elekti la ilon, kiu plej taŭgas por viaj nunaj bezonoj.

PS

Dankon kvaps por la datumoj sur la OpenShift Konzolo por la kompara tabelo!

Legu ankaŭ en nia blogo:

fonto: www.habr.com

Aldoni komenton