
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 Web View 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 status
pod'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. 1. Kubernetes Dashboard
Dokumentatsiooni leht
- ;
- 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.”

See on ametlikus Kubernetes dokumentatsioonis autorite poolt räägitud üldotstarbeline paneel. (kuigi ) . 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 . 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 2. Lens
Esitlus
- ;
- ;
- 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).

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 — 16. juunist 2020. Algne versioon loodi ettevõttes Kontena ja tänapäeval on kogu intellektuaalne omand edastatud spetsiaalselt loodud organisatsioonile , 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
- ;
- ;
- (200+ GitHubi tähte);
- Litsents: omandiõigus;
- Kokkuvõttes: "Klastri haldamine, tehtud lihtsalt".

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
- ;
- ;
- (~500 GitHubi tähte);
- Litsents: Apache 2.0
- Lühidalt: „Kubevious muudab Kubernetes'e klastrite, rakenduste konfiguratsiooni ja nende oleku vaatamise ohutuks ning arusaadavaks.“

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 , millest me .)
- Eelnevale punktile lisaks on saadaval potentsiaalselt ohtlike konteinerite avastamine, st liiga suure privileegiga (atribuutide
hostPID,hostNetwork,hostIPC, monteeriminedocker.sockja 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 ( 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
- ;
- Litsents: omandiõigus (muutub avatud allikaks);
- Lühidalt: „Lihtne mitmeplatvormiline klient Kubernetes'ele.”

Uus toode VMware'ilt, mis loodi algselt sisemise hackathoni raames (juunis 2019). Paigaldatakse isiklikule arvutile, töötab süsteemi peal (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 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
- ;
- (~150 tähti GitHubis);
- Лицензия: Apache 2.0;
- Lühidalt: „Kasutajaliides OpenShift'i klastrite jaoks.”

Kuigi see veebiliides on osa OpenShift'i jaotisest (seal paigaldatakse see spetsiaalse operaatori abil ette näinud 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 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 .
- Kogumite haldamine, mis käivitatakse läbi Docker'i (määratud Dockerfile'i hoidlast), või väliste utiliitide.
NB: Me ei hakanud võrdlusesse lisama teisi Kubernetes'i jaotusi (näiteks palju vähem tuntud ): 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
- ;
- (~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 16. aprill 2020), ei hakanud me selle funktsioone hindama. Siiski võib see paljusid huvitada: kui see olete teie - jälgige arengut.
2. IcePanel
- ;
- Litsents: omandiõigus;
- Lühidalt: "Kubernetes'i visuaalne toimetaja".

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 ) ja Linuxi toe puudumine (praegu on saadaval vaid Windowsi ja macOS-i versioonid, kuigi see on tõenäoliselt ainult ajaküsimus).
3. k9s
- ;
- ;
- (~7700 GitHubi tähte);
- Лицензия: Apache 2.0;
- Lühidalt: "Kubernetes'i konsooli liides, mis võimaldab stiilselt hallata klastrit".

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 . Seetõttu on täiesti loogiline, et ilmuvad vastavad visuaalsed vahendid, mis võimaldavad hallata chartide elutsükli.
4.1. Monocular
- (1300+ GitHubi tähte);
- Лицензия: Apache 2.0;
- Lühidalt: „Veebirakendus Helm chartide otsimiseks ja avastamiseks paljudest repos. Teenib aluseks Helm hub projektile.”

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
- ;
- ;
- (~2100 GitHubi tähte);
- Litsents: Apache 2.0
- Lühidalt: „Teie rakenduste paneel Kuberneteses.”

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:
(Tabeli veebiversioon .)
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 OpenShift Console andmete eest võrdlustabeli jaoks!
Lugege ka meie blogist:
- «»;
- «»;
- «»;
- «».
Allikas: habr.com
