Ülevaade Kubernetes'e graafilistest liidestest

Ülevaade Kubernetes'e graafilistest liidestest

Süsteemi täisväärtuslikuks kasutamiseks on oluline tundma õppida käsurea utiliite: Kubernetes'e puhul on see kubectl. Teisest küljest võivad hästi disainitud ja läbimõeldud graafilised kasutajaliidesed täita suure osa tavalistest ülesannetest ja avada täiendavaid võimalusi süsteemide haldamisel.ilotkaMöödunud aastal avaldasime tõlke

väikesest ülevaatest web UI Kubernetes'e jaoks, mis oli seotud veebiliidese Kubernetes Web View . Antud artikli ja utiliidi autor on Henning Jacobs ettevõttest Zalando, kes positsioneeris uuenduse kui "kubectl veebis". Ta soovis luua tööriista, mis oleks mugav tehnilise toe vormis (näiteks kiiresti näidata probleem veebilingi kaudu) ning reageerida intsidentidele, otsida probleeme mitmes klastris korraga. Tema looming on endiselt arengus (peamiselt autori enda jõul).Haldades mitmeid erineva suurusega Kubernetes'e klustreid, oleme samuti huvitatud visuaalse tööriista pakkumise võimalusest klientidele. Sobiva liidese valimisel olid meie jaoks olulised järgmised omadused:

kasutajate õiguste haldamise toimetamine (RBAC);

  • Kubernetes'e nimede ruumi ja standardsete primitiivide (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC) seisundi visualiseerimine;
  • juurdepääs käsureale pod'i sees;
  • pod'ide logide vaatamine;
  • pod'ide seisundi vaatamine (
  • describe statuspod'ide eemaldamine.);
  • Teised funktsioonid, nagu vaadatud ressursside tarbimine (pod'ide/kontrollerite/nimede ruumide lõikes), K8s primitiivide loomine/redigeerimine, ei ole meie tööprotsessi raames asjakohased.

Meie ülevaade algab klassikalisest Kubernetes Dashboard'ist, mis on meie jaoks standardiks. Kuna maailm ei seisa paigal (seega ilmuvad Kubernetes'e jaoks pidevalt uusi GUI-sid), räägime ka selle aktuaalsetest alternatiividest, kokkuvõttes kõik võrreldavas tabelis artikli lõpus.

: Ülevaates me ei kordu nende lahendustega, mida on juba käsitletud

NB, kuid - täielikkuse huvides - on asjakohased valikud (K8Dash, Octant, Kubernetes Web View) lisatud lõpliku tabelisse. eelmisel artiklil1. Kubernetes Dashboard

Dokumentatsiooni leht

  • (8000+ GitHub'i tähte);;
  • Repo Litsents: Apache 2.0;
  • Лицензия: Apache 2.0;
  • Lühidalt: „Üks universaalne veebiliides Kubernetes klastritele. See võimaldab kasutajatel hallata klastris töötavaid rakendusi ja neid ära kasutada, samuti muuta ise klastrit.”

Ülevaade Kubernetes'e graafilistest liidestest

See on ametlikus Kubernetes dokumentatsioonis autorite poolt räägitud üldotstarbeline paneel. (kuigi ei ole vaikimisi käivitatav ) . See on mõeldud igapäevaste tööde ja rakenduste tõrkeotsingu jaoks klastris. Meie kasutame seda tõhusa kergkaalulise visuaalse vahendina, et anda arendajatele vajalik ja piisav juurdepääs klastrile. Selle funktsioonid katab kõik nende vajadused, mis tekivad klastrit kasutades.Oleme näidanud mõned paneeli funktsioonid) (Kalis selles artiklis . Nagu kergesti arvata võib, tähendab see, et see rahuldab kõiki meie ülal kirjeldatud nõudeid.Kubernetes Dashboardi peamised funktsioonid:

Navigeerimine: peamiste K8s objektide vaatamine nimede ruumide lõikes.

  • Kui administreerimisõigused on olemas, näitab paneel sõlmi, nimede ruume ja Persistente Volumes. Sõlmede kohta saadaval mälukasutuse, protsessorite, ressursside eraldamise, mõõdikute, oleku, sündmuste jne statistika.
  • Rakenduste vaatamine, mis on käivitatud nimede ruumis nende tüübi järgi (Deployment, StatefulSet jne), seosed nende vahel (ReplicaSet, Horizontal Pod Autoscaler), üldine ja isikupärane statistika ja teave.
  • Teenuste ja Ingresside vaatamine ning nende seosed podide ja endpointidega.
  • Failiobjektide ja salvestuste vaatamine: Persistent Volume ja Persistent Volume Claim.
  • ConfigMap ja Secret vaatamine ja redigeerimine.
  • Logide vaatamine.
  • Käskude rea juurdepääs konteinerites.
  • Oluline puudus (kuid mitte meie jaoks) — mitme klastrite toe puudumine. Projekt areneb aktiivselt kogukonna poolt ja toetab uusi funktsioone uute Kubernetes API versioonide ja spetsifikatsioonide ilmumisega: paneeli viimane versioon —

v2.0.1 22. mai 2020 — testitud ühilduvuse osas Kubernetes 1.18. 2. Lens

Esitlus

  • Veebisait;
  • (~4800 GitHubi tähte);;
  • Repo Litsents: MIT;
  • Lühidalt: „Kubernetes IDE”.
  • Projekt on suunatud täieliku integreeritud arenduskeskkonna (IDE) loomiseks Kubernetes jaoks, olles optimeeritud paljude klastrite ja suurte podide arvu käsitlemiseks (testitud 25 000 podiga).

Ülevaade Kubernetes'e graafilistest liidestest

Lens'i peamised omadused/funktsioonid:

Основные особенности/возможности Lens:

  • Iseseisev rakendus, mis ei nõua mingite komponentide installimist klastris (täpsemalt, kõikide mõõdikute saamiseks on vajalik Prometheus, kuid olemasolevat installatsiooni võib samuti kasutada). "Peamine" installatsioon toimub isiklikul arvutil, mis töötab Linuxi, macOS-i või Windowsi all.
  • Mitmeklastriline haldus (toetatakse sadu klastreid).
  • Klastri oleku visuaaliseerimine reaalajas.
  • Ressursside kasutamise graafikud ja ajaloolised trendid, põhinedes integreeritud Prometheusel.
  • Konteinerite käsurea juurde pääsemine ja klastris sõlmedel.
  • Täielik Kubernetes RBAC-i tugi.

Viimane väljaanne — 3.5.0 16. juunist 2020. Algne versioon loodi ettevõttes Kontena ja tänapäeval on kogu intellektuaalne omand edastatud spetsiaalselt loodud organisatsioonile Lakend Labs, mida tuntakse kui "cloud native geikide ja tehnoloogide ühendus", kes vastutab "Open Source tarkvara ja Kontena tooteid säilitamise ja kättesaadavuse" eest.

Lens on GitHubis teine populaarseim projekt GUI kategoorias Kubernetes jaoks, "kaotades" vaid tegelikule Kubernets Dashboardile. Kõik teised CLI*-kategooriast väljas olevad Open Source lahendused jäävad populaarsuses märgatavalt alla.

* Vaata K9s kohta ülevaate boonusosas.

3. Kubernetic

Ülevaade Kubernetes'e graafilistest liidestest

See on omandiõigusega rakendus, mis installitakse isiklikule arvutile (toetatakse Linuxi, macOS-i, Windowsi). Selle autorid lubavad täielikku käsurea utiliidi asendamist ning sellest tulenevalt ka vajaduse meeles pidada käske ja isegi kümnekordset töö kiirus.

Üks huvitavamaid tööriista omadusi on sisseehitatud tugi Helm-graafikutele, kuid üheks puuduseks on rakenduste jõudluse mõõdikute puudumine.

Kubernetici peamised funktsioonid:

  • Klastri oleku mugav kuvamine. Üks ekraan, et vaadata kõiki seotud klastrielemente ja nende sõltuvusi; punane/roheline valmiduse olek kõigi elementide jaoks; klastrioleku vaatamise režiim, kus staatust uuendatakse reaalajas.
  • Kiirtoimingu nupud rakenduste kustutamiseks ja skaleerimiseks.
  • Toetatakse mitmeklastrilist tööd.
  • Lihtne töö nimede ruumidega.
  • Helm-chartide ja Helm-repositorite tugi (sealhulgas privaatsete). Chartide installimine ja haldamine veebiliideses.

Toote ajakohane hind on ühekordne makse 30 eurot, mis võimaldab ühel inimesel kasutada seda igasugustes nimede ja klastrites.

4. Kubevious

  • Veebisait;
  • (~4800 GitHubi tähte);;
  • Repo (~500 GitHubi tähte);
  • Litsents: Apache 2.0
  • Lühidalt: „Kubevious muudab Kubernetes'e klastrite, rakenduste konfiguratsiooni ja nende oleku vaatamise ohutuks ning arusaadavaks.“

Ülevaade Kubernetes'e graafilistest liidestest

Projekti idee on luua tööriist, mille eesmärk on analüüsida ja tõrkeotsida rakenduste konfiguratsioonide, mis on klastris juurutatud. Autorid keskendusid esmalt nende funktsioonide elluviimisele, jättes üldisemad asjad hilisemaks.

Kubevious peamised omadused ja funktsioonid:

  • Klastri visualiseerimine rakendustele keskendunud viisil: omavahel seotud objektid liideses grupeeritakse ja asetatakse hierarhiasse.
  • Selge kuvamine sõltuvustest konfiguratsioonides ja nende muudatuste kaskaadsetest tagajärgedest.
  • Klastri konfiguratsioonivigade kuvamine: vale silti kasutamine, puudu olevad pordid jne. (Muide, kui see funktsioon teid huvitab, pöörake tähelepanu Polaris, millest me oleme juba kirjutanud.)
  • Eelnevale punktile lisaks on saadaval potentsiaalselt ohtlike konteinerite avastamine, st liiga suure privileegiga (atribuutide hostPID, hostNetwork, hostIPC, monteerimine docker.sock ja nii edasi).
  • Täpne otsingusüsteem klastri jaoks (mitte ainult objektide nimede, vaid ka nende omaduste põhjal).
  • Tööriistad ressursside planeerimiseks ja optimeerimiseks.
  • Sisseehitatud „ajamasin“ (võimalus näha varasemaid objekti konfiguratsiooni muudatusi).
  • RBAC haldamine koos tabeliga, mis ühendab Roles, RoleBindings, ServiceAccounts.
  • Töötab ainult ühe klastriga.

Projektil on üsna lühike ajalugu (esimene väljaanne toimus 11. veebruaril 2020) ja näib, et areng on jõudnud stabiliseerumise või aeglustumise perioodi. Kui varasemad versioonid ilmusid sageli, siis viimane väljaanne (v0.5 15. aprillist 2020) on jäänud algse arendustempo taha. Tõenäoliselt on see seotud väikese konttributorite arvuga: kohas ei ole neid kokku 4, ja kogu tegelik töö toimub ühe inimese poolt.

5. Kubewise

  • Projekti leht;
  • Litsents: omandiõigus (muutub avatud allikaks);
  • Lühidalt: „Lihtne mitmeplatvormiline klient Kubernetes'ele.”

Ülevaade Kubernetes'e graafilistest liidestest

Uus toode VMware'ilt, mis loodi algselt sisemise hackathoni raames (juunis 2019). Paigaldatakse isiklikule arvutile, töötab süsteemi peal Electron (toetatakse Linuxit, macOS-i ja Windowsit) ja nõuab kubectl-i versiooni vähemalt v1.14.0.

Kubewise peamised funktsioonid:

  • Suhtlemine liideses kõige sagedamini kasutatavate Kubernetes'i enteetidega: sõlmed, nimede ruumid jne.
  • Mitme kubeconfig faili tugi erinevate klastrite jaoks.
  • Terminal keskkonnamuutuja seadistamise võimalusega KUBECONFIG.
  • Kohandatud kubeconfig failide genereerimine antud nimede ruumi jaoks.
  • Täpsemad turvalisuse võimalused (RBAC, paroolid, teenuse kontod).

Praegu on projektil ainult üks väljaanne — versioon 1.1.0 26. novembrist 2019. Autoreid kavandasid selle kohe välja anda avatud lähtekoodiga, kuid sisemiste probleemide tõttu (mitte tehniliste küsimustega seotud) ei saanud nad seda teha. Mais 2020 on autorid järgmise väljaande kallal töötamas ja samal ajal peaksid nad algatama koodi avamise protsessi.

6. OpenShift Console

Ülevaade Kubernetes'e graafilistest liidestest

Kuigi see veebiliides on osa OpenShift'i jaotisest (seal paigaldatakse see spetsiaalse operaatori abil ), on autoridette näinud võimaluse selle paigaldamiseks/kasutamiseks ka tavalistes (puhtates) Kubernetes'i installatsioonides. OpenShift Console on juba pikka aega arenenud, seega on see sisaldanud palju funktsioone. Mainime peamisi:

Jagatud lähenemine liidesele — kaks „perspektiivi”, mis on Console'is saadaval: administraatoritele ja arendajatele. Režiim

  • Arendaja perspektiiv grupib objektid arendajatele arusaadavamal viisil (rakenduste järgi) ja suunab liidese selliste tüüpiliste ülesannete täitmisele nagu rakenduste juurutamine, koostamis-/juurutamise staatuse jälgimine ja isegi koodi redigeerimine läbi Eclipse Che. Töökoormuste, võrgu, salvestuste ja ligipääsu õiguste haldamine.
  • Loogiline jaotamine töökoormusteks projektide ja rakenduste vahel. Ühes viimases väljaandes — v4.3 —
  • eraldi ja käivitasime oma projekti; Projektipaneel , mis kuvab tuttavaid andmeid (juurutamiste, podide jne arv ja staatused; ressursside tarbimine ja muud metrikad) projektide lõikes., отображающий привычные данные (количество и статусы deployment’ов, pod’ов и т.п.; потребление ресурсов и прочие метрики) в срезе проектов.
  • Reaalajas värskendatav klastereseisundi ja selles toimunud muudatuste (sündmuste) kuvamine; logide vaatamine.
  • Külastus andmete jälgimisele, mis põhineb Prometheusel, Alertmanageril ja Grafanal.
  • Operaatorite haldamine, mis on esitatud OperatorHub.
  • Kogumite haldamine, mis käivitatakse läbi Docker'i (määratud Dockerfile'i hoidlast), S2I või väliste utiliitide.

NB: Me ei hakanud võrdlusesse lisama teisi Kubernetes'i jaotusi (näiteks palju vähem tuntud Kubesphere): kuigi nende visuaalne liides võib olla väga arenenud, tuleb see tavaliselt osana suure süsteemi integreeritud virnast. Kui arvate, et vanilli K8si installatsioonides puudub mõni lahendus, andke meile sellest kommentaarides teada.

Boonus

1. Portainer Kuberneteses beetaversioonis

  • Veebisait;
  • Repo (~100 GitHubi tähte);
  • Litsents: Zlib(?) (selline on vanema projekti puhul).

Projekt Portaineri meeskonnalt, kes on välja arendanud sama nimega populaarse Docker'i liidese. Kuna projekt on varases arendusjärgus (esimene ja ainus beetaversioon Järgmine Red Hat Linuxi väljaanne 16. aprill 2020), ei hakanud me selle funktsioone hindama. Siiski võib see paljusid huvitada: kui see olete teie - jälgige arengut.

2. IcePanel

  • Veebisait;
  • Litsents: omandiõigus;
  • Lühidalt: "Kubernetes'i visuaalne toimetaja".

Ülevaade Kubernetes'e graafilistest liidestest

See noor lauaõppe rakendus on mõeldud visualiseerima Kubernetes'i ressursse reaalajas ja haldama neid lihtsa liidese kaudu, mis sarnaneb drag & drop-iga. Toetatud objektide seas on hetkel Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ja Secret. Peagi lubatakse lisada ka Helm'i toetus. Suurimad puudused on sulgemine (oodatakse selle avatust "mingi vormis") ja Linuxi toe puudumine (praegu on saadaval vaid Windowsi ja macOS-i versioonid, kuigi see on tõenäoliselt ainult ajaküsimus).

3. k9s

  • Veebisait;
  • Demonstratsioon;
  • Repo (~7700 GitHubi tähte);
  • Лицензия: Apache 2.0;
  • Lühidalt: "Kubernetes'i konsooli liides, mis võimaldab stiilselt hallata klastrit".

Ülevaade Kubernetes'e graafilistest liidestest

Utiliit on esitatud vaid boonuste osas, kuna see pakub konsoolipõhist GUI-d. Kuid autorid on tõeliselt maksimumi välja pigistanud terminalist, pakkudes mitte ainult mugavat liidese, vaid ka 6 eelmääratud kujundust, arenenud klaviatuurikombinatsioonide ja käskude aliaste süsteemi. Nende põhjalik lähenemine ei piirdunud välimusega: k9s'i võimalused on meeldivalt muljetavaldavad: ressursside haldamine, klastrite oleku kuvamine, ressursside väljund hierarhilises esitusviisis koos sõltuvustega, logide vaatamine, RBAC toe, võimaluste laiendamine pluginate kaudu... Kõik see meeldis laiale K8s kogukonnale: projekti GitHubi tähed peaaegu ei jää alla ametlikule Kubernetes Dashboardile!

4. Rakenduste juhtpaneelid

Ja ülevaate lõpetuseks - eraldi mini-kategooria. Siia on jõudnud kaks veebiliidest, mis ei ole mõeldud Kubernetes klastrite kompleksseks haldamiseks, vaid selleks, mida neis käitatakse.

Kuidas teada, on üks kõige küpsemaid ja laialdasemalt levinud vahendeid komplekssete rakenduste juurutamiseks Kuberneteses Helm. Selle olemasolu jooksul on kogunenud palju pakette (Helm charts) lihtsaks juurutamiseks paljusid populaarseid rakendusi. Seetõttu on täiesti loogiline, et ilmuvad vastavad visuaalsed vahendid, mis võimaldavad hallata chartide elutsükli.

4.1. Monocular

  • Repo (1300+ GitHubi tähte);
  • Лицензия: Apache 2.0;
  • Lühidalt: „Veebirakendus Helm chartide otsimiseks ja avastamiseks paljudest repos. Teenib aluseks Helm hub projektile.”

Ülevaade Kubernetes'e graafilistest liidestest

See arendus Helm'i autoritelt installitakse Kubernetesesse ja töötab ühe klastris, täites etteantud ülesande. Kuid praegu projekt peaaegu ei arene. Selle peamine eesmärk on toetada Helm Hub'i olemasolu. Muude vajaduste jaoks soovitavad autorid Kubeapps'i (vt allpool) või Red Hat Automation Broker'i (osa OpenShiftist, aga ka enam ei arene).

4.2. Kubeapps

Ülevaade Kubernetes'e graafilistest liidestest

Bitnami toode, mis samuti installitakse Kubernetes klastrisse, kuid erineb Monocularist algse fookusega privaatsete reposide töötamisele.

Kubeapps'i peamised funktsioonid ja omadused:

  • Helm chartide vaatamine ja paigaldamine reposidest.
  • Helm-põhiste rakenduste kontrollimine, uuendamine ja kustutamine, mis on klastris paigaldatud.
  • Toetada töötamist kohandatud ja privaatsete chartide hoidlate (toetab ChartMuseum ja JFrog Artifactory).
  • Vaatamine ja töö väliste teenustega — Teenuse Kataloogist ja Teenuse Maakleritest.
  • Paigaldatud rakenduste avaldamine Teenuse Katalooge Sidumise mehhanismi kaudu.
  • Toetada autentimist ja õiguste jagamist RBAC-i abil.

Kokkuvõtte tabel

Allpool on kokkuvõtlik tabel, kus oleme püüdnud kokku tuua ja aggregeerida olemasolevate visuaalsete liideste peamised võimalused, et hõlbustada võrdlemist:

Ülevaade Kubernetes'e graafilistest liidestest
(Tabeli veebiversioon on saadaval Google Docsis.)

Kokkuvõte

Graafilised liidesed Kubernetesega — üsna spetsiifiline ja noor nišš. Siiski areneb see üsna aktiivselt: juba on võimalik leida nii piisavalt küpseid lahendusi kui ka täiesti noori, kellel on veel arenguruumi. Need keskenduvad erinevatele rakendusvõimalustele, pakkudes funktsioone ja välimust praktiliselt igale maitsele. Loodame, et see ülevaade aitab leida tööriista, mis katab teie praegused vajadused kõige paremini.

P.S.

Aitäh kvaps OpenShift Console andmete eest võrdlustabeli jaoks!

Lugege ka meie blogist:

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster