Kubernetese GUIde ülevaade

Kubernetese GUIde ülevaade

Süsteemiga täieõiguslikuks tööks on olulised teadmised käsurea utiliitidest: Kubernetese puhul on selleks kubectl. Teisest küljest võivad hästi läbimõeldud graafilised liidesed toimidaоenamik tavalisi ülesandeid ja avavad lisavõimalusi süsteemide toimimiseks.

Eelmisel aastal avaldasime tõlke väike ülevaade veebi kasutajaliidest Kubernetese jaoks ajastatud veebiliidese väljakuulutamisega Kubernetes WebView. Selle artikli autor ja utiliit ise Henning Jacobs Zalandost positsioneeris uue toote kui "kubectl for the web". Ta soovis luua kasutajasõbralike võimalustega tööriista tehnilise toe formaadis suhtlemiseks (näiteks probleemi kiireks näitamiseks veebilingi abil) ja intsidentidele reageerimiseks, probleemide otsimiseks korraga paljudes klastrites. Tema järelkasv areneb praegu (peamiselt autori enda jõupingutustel).

Kuna teenindame paljusid erineva suurusega Kubernetese klastreid, oleme huvitatud ka sellest, et saaksime oma klientidele pakkuda visuaalset tööriista. Sobiva liidese valimisel olid meie jaoks võtmetähtsusega järgmised funktsioonid:

  • kasutajaõiguste eristamise tugi (RBAC);
  • nimeruumi oleku ja standardsete Kubernetese primitiivide visualiseerimine (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • juurdepääsu saamine kausta sees olevale käsureale;
  • kaunade palkide vaatamine;
  • vaata kaunade olekut (describe status);
  • kaunade eemaldamine.

Muud funktsioonid, nagu tarbitud ressursside vaatamine (poodide/kontrollerite/nimeruumide kontekstis), K8-i primitiivide loomine/redigeerimine, ei ole meie töövoo raames asjakohased.

Alustame ülevaatamist klassikalise Kubernetes Dashboardiga, mis on meie standard. Kuna maailm ei seisa paigal (mis tähendab, et Kubernetesil on aina rohkem uusi GUI-sid), siis räägime ka selle praegustest alternatiividest, võttes kõik kokku artikli lõpus olevas võrdlevas tabelis.

NB: Ülevaates me ei korda nende lahendustega, mida on juba kaalutud viimane artikkel, aga täielikkuse huvides on selle vastavad valikud (K8Dash, Octant, Kubernetes Web View) lisatud lõpptabelisse.

1. Kubernetese armatuurlaud

  • Dokumentatsiooni leht;
  • hoidla (8000+ GitHubi tärni);
  • Litsents: Apache 2.0;
  • Lühidalt: “Universaalne veebiliides Kubernetese klastritele. See võimaldab kasutajatel hallata ja teha tõrkeotsingut klastris töötavate rakenduste kohta, samuti hallata klastrit ennast.

Kubernetese GUIde ülevaade

See on üldotstarbeline paneel, mida Kubernetese autorid on ametlikus dokumentatsioonis käsitlenud (aga mittekasutuselevõetav vaikimisi). See on mõeldud igapäevaseks kasutamiseks ja klastris olevate rakenduste silumiseks. Kodus kasutame seda täisväärtusliku kerge visuaalse tööriistana, mis võimaldab pakkuda arendajatele vajalikku ja piisavat juurdepääsu klastrile. Selle võimalused katavad kõik nende vajadused, mis klastri kasutamise käigus tekivad (in see artikkel demonstreerisime mõnda paneeli funktsiooni). Nagu võite arvata, tähendab see, et see vastab kõigile meie ülaltoodud nõuetele.

Kubernetese armatuurlaua peamiste funktsioonide hulgas:

  • Navigeerimine: saate vaadata K8-de põhiobjekte nimeruumide kontekstis.
  • Kui teil on administraatori õigused, kuvatakse paneelil sõlmed, nimeruumid ja püsivad köited. Sõlmede jaoks on saadaval statistika mälu, protsessori, ressursside jaotuse, mõõdikute, oleku, sündmuste jms kohta.
  • Saate vaadata nimeruumis juurutatud rakendusi nende tüübi (juurutus, StatefulSet jne), nendevaheliste suhete (ReplicaSet, Horizontal Pod Autoscaler), üldise ja isikupärastatud statistika ja teabe järgi.
  • Vaadake teenuseid ja Ingresse, samuti nende seoseid kaustade ja lõpp-punktidega.
  • Vaadake failiobjekte ja salvestusi: püsiv maht ja püsiv mahunõue.
  • Vaadake ja redigeerige ConfigMap ja Secret.
  • Vaata logisid.
  • Juurdepääs käsureale konteinerites.

Märkimisväärne puudus (meie jaoks siiski mitte) on see, et mitme klastri töö jaoks puudub tugi. Projekti arendab aktiivselt kogukond ja see säilitab asjakohased funktsioonid Kubernetes API uute versioonide ja spetsifikatsioonide avaldamisega: paneeli uusim versioon on v2.0.1 22. mai 2020 – Testitud ühilduvust Kubernetes 1.18-ga.

2. objektiiv

Kubernetese GUIde ülevaade

Projekt on Kubernetese jaoks täielik integreeritud arenduskeskkond (IDE). Lisaks on see optimeeritud töötama paljude klastrite ja neis töötava suure hulga kaustadega (testitud 25 XNUMX kaunaga).

Objektiivi peamised omadused/võimalused:

  • Eraldiseisev rakendus, mis ei nõua klastri sees millegi installimist (täpsemalt peab Prometheus kõigi mõõdikute hankimiseks, kuid selleks saab kasutada ka olemasolevat installi). Peamine installimine tehakse personaalarvutisse, kus töötab Linux, macOS või Windows.
  • Mitme klastri haldus (toetatud sadu klastreid).
  • Klastri oleku visualiseerimine reaalajas.
  • Ressursikasutuse graafikud ja suundumused koos ajalooga, mis põhinevad sisseehitatud Prometheusel.
  • Juurdepääs konteinerite ja klastri sõlmede käsureale.
  • Kubernetes RBAC täielik tugi.

Praegune väljalase - 3.5.0 16. juuni 2020 Algselt Kontena loodud, tänaseks on kogu intellektuaalomand üle antud spetsiaalsele organisatsioonile Lakendi laborid, mida nimetatakse "pilvepõhiste geekide ja tehnoloogide liiduks", mis vastutab "Kontena avatud lähtekoodiga tarkvara ja toodete säilimise ja kättesaadavuse eest".

Lens on GitHubi teine ​​populaarseim projekt Kubernetese GUI-st, kaotades ainult Kubernetsi armatuurlaua enda. Kõik muud avatud lähtekoodiga lahendused, mis ei kuulu CLI* kategooriasse, on populaarsuselt oluliselt madalamad.

* Vaadake K9-de kohta ülevaate boonusosast.

3. Kubernetic

Kubernetese GUIde ülevaade

See on patenteeritud rakendus, mis installitakse personaalarvutisse (toetatud on Linux, macOS, Windows). Selle autorid lubavad käsurea utiliidi täielikku asendamist ja koos sellega - käske pole vaja meeles pidada ja kiirust isegi kümnekordselt suurendada.

Tööriista üks huvitavaid omadusi on Helmi diagrammide sisseehitatud tugi ja üks puudusi on rakenduse jõudlusnäitajate puudumine.

Kuberneticu peamised omadused:

  • Mugav klastri oleku kuvamine. Üks ekraan kõigi seotud klastriobjektide ja nende sõltuvuste kuvamiseks; kõigi objektide punane/roheline valmisoleku olek; klastri olekuvaate režiim reaalajas olekuvärskendustega.
  • Kiirtoimingunupud rakenduse kustutamiseks ja skaleerimiseks.
  • Mitme klastriga töötamise tugi.
  • Lihtne töö nimeruumidega.
  • Helmi diagrammide ja Helmi hoidlate (sh privaatsete) tugi. Diagrammide installimine ja haldamine veebiliideses.

Toote hetkemaksumus on ühekordne tasu 30 eurot selle kasutamise eest ühe inimese poolt suvalise arvu nimeruumide ja klastrite eest.

4. Kubevious

  • veebisait;
  • Esitlus;
  • hoidla (~500 GitHubi tärni);
  • Litsents: Apache 2.0
  • Lühidalt: "Kubevious muudab Kubernetese klastrid, rakenduste konfiguratsiooni ja oleku vaatamise turvaliseks ja hõlpsasti mõistetavaks."

Kubernetese GUIde ülevaade

Projekti idee on luua tööriist, mis on mõeldud klastris juurutatud rakenduste konfiguratsioonide analüüsimiseks ja silumiseks. Autorid keskendusid eelkõige nende funktsioonide rakendamisele, jättes üldisemad asjad hilisemaks.

Kubeviousi peamised omadused ja funktsioonid:

  • Klastrite visualiseerimine rakendusekesksel viisil: liideses olevad seotud objektid on rühmitatud ja reastuvad hierarhiasse.
  • Konfiguratsioonide sõltuvuste ja nende muutuste järkjärguliste tagajärgede visuaalne kuvamine.
  • Klastrite konfiguratsioonivigade kuvamine: siltide väärkasutamine, pordide vahelejätmine jne. (Muide, kui olete sellest funktsioonist huvitatud, pöörake tähelepanu Põhjanaelmille kohta me juba kirjutas.)
  • Lisaks eelmisele punktile on võimalik potentsiaalselt ohtlike konteinerite tuvastamine, s.o. liiga palju privileege (atribuute hostPID, hostNetwork, hostIPC, mount docker.sock jne).
  • Klastri täpsem otsingusüsteem (mitte ainult objektide nimede, vaid ka nende omaduste järgi).
  • Tööriistad võimsuse planeerimiseks ja ressursside optimeerimiseks.
  • Sisseehitatud "ajamasin" (võimalus näha varasemaid muudatusi objektide konfiguratsioonis).
  • RBAC-i haldamine rollide, rollisidemete ja teenusekontode omavahel seotud pivot-tabeliga.
  • Töötab ainult ühe klastriga.

Projekt on väga lühikese ajalooga (esimene väljalase toimus 11. veebruaril 2020) ja tundub, et on olnud kas stabiliseerumise või arengu aeglustumise periood. Kui eelmisi versioone anti sageli välja, siis viimane väljalase (v0.5 15. aprill 2020) on esialgsest arengutempost maha jäänud. Selle põhjuseks on ilmselt kaastööliste väike arv: hoidla ajaloos on neid vaid 4 ja kogu tegeliku töö teeb ära üks inimene.

5. Kubewise

  • Projekti leht;
  • Litsents: varaline (muutub avatud lähtekoodiga);
  • Lühidalt: "Lihtne mitme platvormi klient Kubernetese jaoks."

Kubernetese GUIde ülevaade

VMware'i uus toode, mis loodi algselt sisemise häkatoni raames (juunis 2019). Paigaldatud personaalarvutisse, töötab baasil Elektron (Toetatud Linux, macOS ja Windows) ning selleks on vaja kubectl v1.14.0 või uuemat.

Kubewise'i peamised omadused:

  • Liidese interaktsioon kõige sagedamini kasutatavate Kubernetese üksustega: sõlmed, nimeruumid jne.
  • Mitme kubeconfig-faili tugi erinevatele klastritele.
  • Terminal keskkonnamuutuja määramise võimalusega KUBECONFIG.
  • Looge antud nimeruumi jaoks kohandatud kubeconfig-failid.
  • Täiustatud turvafunktsioonid (RBAC, paroolid, teenusekontod).

Seni on projektil ainult üks väljalase - versioon 1.1.0 kuupäevaga 26. november 2019. Veelgi enam, autorid kavatsesid selle kohe avatud lähtekoodina välja anda, kuid sisemiste probleemide tõttu (mis pole seotud tehniliste probleemidega) ei saanud nad seda teha. Alates 2020. aasta maist töötavad autorid järgmise versiooni kallal ja peaksid samal ajal käivitama koodi avamise protsessi.

6. OpenShift Console

Kubernetese GUIde ülevaade

Hoolimata asjaolust, et see veebiliides on osa OpenShifti distributsioonist (see installitakse sinna kasutades spetsiaalne operaator), autorid ette nähtud võimalus seda installida / kasutada tavalistes (vanilje) Kubernetese installides.

OpenShift Console'i ​​on arendatud pikka aega, seega on see hõlmanud palju funktsioone. Nimetame peamised:

  • Jagatud liidese lähenemine – konsoolis saadaolevate võimaluste kaks "perspektiivi": administraatoritele ja arendajatele. Režiim arendaja perspektiiv rühmitab objektid arendajatele (rakenduste kaupa) arusaadavamal kujul ja keskendub liidese selliste tüüpiliste ülesannete lahendamisele nagu rakenduste juurutamine, ehitamise/juurutamise oleku jälgimine ja isegi koodi redigeerimine Eclipse Che kaudu.
  • Töökoormuste, võrgu, salvestusruumi, juurdepääsuõiguste haldamine.
  • Töökoormuse loogiline eraldamine projektideks ja rakendusteks. Ühes viimastest väljalasetest – v4.3 – ilmus eriline Projekti juhtpaneel, mis kuvab projektiosas tavapäraseid andmeid (juurutuste arv ja olekud, kaustad jne; ressursikulu ja muud mõõdikud).
  • Uuendatakse reaalajas klastri oleku, selles toimunud muutuste (sündmuste) kuvamist; logide vaatamine.
  • Vaadake seireandmeid Prometheuse, Alertmanageri ja Grafana põhjal.
  • aastal esindatud operaatorite juhtimine operaatorikeskus.
  • Hallake Dockeri kaudu jooksvaid versioone (määratud hoidlast koos Dockeri failiga), S2I või suvalised välised utiliidid.

NB: Me ei lisanud võrdlusesse teisi Kubernetese distributsioonid (näiteks palju vähem tuntud Kubesfäär): vaatamata asjaolule, et GUI võib neis olla väga arenenud, tuleb see tavaliselt suure süsteemi integreeritud pinu osana. Kui aga arvad, et vanilla K8s installatsioonis täielikult toimivaid lahendusi pole piisavalt, anna kommentaarides teada.

Boonus

1. Portainer Kubernetese beetaversioonis

  • veebisait;
  • hoidla (~100 GitHubi tärni);
  • Litsents: Zlib(?) (sama emaprojekti puhul).

Portaineri meeskonna projekt, mis arendas välja populaarse samanimelise liidese Dockeriga töötamiseks. Kuna projekt on algfaasis (esimene ja ainus beetaversioon tuli välja 16. aprill 2020), me ei hinnanud selle funktsioone. See võib aga paljudele huvi pakkuda: kui see puudutab sind, siis jälgi arengut.

2. IcePanel

  • veebisait;
  • Litsents: varaline;
  • Lühidalt: "Visual Kubernetes Editor".

Kubernetese GUIde ülevaade

Selle noore töölauarakenduse eesmärk on Kubernetese ressursside visualiseerimine ja haldamine reaalajas lihtsa pukseerimisliidese abil. Praegu toetatud objektid on Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ja Secret. Varsti lubavad nad Helmile toetust lisada. Peamised puudused on koodi lähedus (seda oodatakse avamine "mingil viisil") ja Linuxi toe puudumine (seni on saadaval ainult Windowsi ja macOS-i versioonid, kuigi ka see on tõenäoliselt vaid aja küsimus).

3.k9s

  • veebisait;
  • Demonstratsioon;
  • hoidla (~7700 GitHubi tärni);
  • Litsents: Apache 2.0;
  • Lühidalt: "Kubernetese konsooliliides, mis võimaldab teil oma klastrit stiilselt hallata."

Kubernetese GUIde ülevaade

Utiliit oli ainult ülevaate boonusosas põhjusel, et see pakub konsooli GUI-d. Kuid autorid pigistasid terminalist sõna otseses mõttes maksimumi, pakkudes lisaks kasutajasõbralikule liidesele ka 6 eelmääratletud teemat ning täiustatud klaviatuuri otseteede ja käskude varjunimede süsteemi. Nende põhjalik lähenemine ei piirdunud ainult välimusega: k9s funktsioonid on meeldivalt muljetavaldavad: ressursside haldamine, klastri oleku kuvamine, ressursside kuvamine hierarhilises esituses koos sõltuvustega, logide vaatamine, RBAC tugi, võimaluste laiendamine pluginate kaudu ... Kõik see meeldis laiale K8-de kogukonnale: arv Projekti GitHubi tähed on peaaegu sama head kui ametlik Kubernetese armatuurlaud!

4. Rakenduse juhtpaneelid

Ja ülevaate lõpus - eraldi minikategooria. See sisaldas kahte veebiliidest, mis olid mõeldud mitte Kubernetese klastrite igakülgseks haldamiseks, vaid nendes kasutatavate asjade haldamiseks.

Nagu teate, on üks küpsemaid ja levinumaid tööriistu keerukate rakenduste juurutamiseks Kuberneteses Helm. Selle olemasolu jooksul on hõlpsaks juurutamiseks kogunenud palju pakette (Helm diagrammid). palju populaarseid rakendusi. Seetõttu on sobivate visuaalsete tööriistade ilmumine, mis võimaldavad hallata diagrammide elutsüklit, üsna loogiline.

4.1. Monokulaar

  • hoidla (1300+ GitHubi tärni);
  • Litsents: Apache 2.0;
  • Lühidalt: „Veebirakendus Helmi diagrammide otsimiseks ja avastamiseks mitmes hoidlas. See on Helmi sõlmpunkti projekti aluseks."

Kubernetese GUIde ülevaade

See Helmi autorite arendus on installitud Kubernetesesse ja töötab samas klastris, täites ülesannet. Kuid praegu pole projekti peaaegu välja töötatud. Selle peamine eesmärk on toetada Helm Hubi olemasolu. Muudeks vajadusteks soovitavad autorid Kubeappsi (vt allpool) või Red Hat Automation Brokerit (OpenShifti osa, kuid samuti ei arendata enam).

4.2. Kubeapps

  • veebisait;
  • Esitlus;
  • hoidla (~2100 GitHubi tärni);
  • Litsents: Apache 2.0
  • Lühidalt: "Teie Kubernetese rakenduse juhtpaneel."

Kubernetese GUIde ülevaade

Bitnami toode, mis on samuti installitud Kubernetese klastris, kuid erineb Monocularist selle poolest, et keskendub esmalt erahoidlatega töötamisele.

Kubeappsi põhifunktsioonid ja funktsioonid:

  • Vaadake ja installige hoidlatest Helmi diagramme.
  • Kontrollige, värskendage ja eemaldage klastris installitud Helmi-põhiseid rakendusi.
  • Kohandatud ja privaatsete diagrammihoidlate tugi (toetab ChartMuseumi ja JFrog Artifactoryt).
  • Väliste teenuste vaatamine ja nendega töötamine – teenusekataloogist ja teenusevahendajatest.
  • Installitud rakenduste avaldamine teenusekataloogi sidumise mehhanismi abil.
  • Tugi autentimisele ja õiguste eraldamisele RBAC-i abil.

Kokkuvõtlik tabel

Allpool on kokkuvõtlik tabel, milles oleme võrdlemise hõlbustamiseks püüdnud kokku võtta ja koondada olemasolevate visuaalsete liideste põhifunktsioonid:

Kubernetese GUIde ülevaade
(Tabeli veebiversioon saadaval Google Docsis.)

Järeldus

Kubernetese GUI-d on üsna spetsiifiline ja noor nišš. See areneb aga väga aktiivselt: juba on võimalik leida nii päris küpseid lahendusi kui ka väga noori lahendusi, millel on veel kasvuruumi. Need sobivad erinevatele rakendustele, pakkudes funktsioone ja välimust, mis sobivad peaaegu igale maitsele. Loodame, et see ülevaade aitab teil valida teie praegustele vajadustele kõige paremini sobiva tööriista.

PS

aitäh lõhnad võrdlustabeli jaoks OpenShift-konsooli andmete jaoks!

Loe ka meie blogist:

Allikas: www.habr.com

Lisa kommentaar