Ü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;
  • Litsents: 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:

PÔhifunktsioonid / vÔimalused 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., mis nĂ€itab tuttavaid andmeid (deploy'ide, pod'ide jne arv ja staatusega; ressursikasutuse ja muude metrikate) projektide lĂ”ikes.
  • 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);
  • Litsents: 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);
  • Litsents: 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 veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster