
Për një funksionim të plotë me sistemin, njohuritë e utilitarëve të komandës janë të rëndësishme: në rastin e Kubernetes, kjo është kubectl. Nga ana tjetër, ndërfaqet grafike të dizajnuara mirë mund të kryejnë shumicën e detyrave të zakonshme dhe të hapin mundësi shtesë gjatë operimit të sistemeve.oNë vitin e kaluar ne publikuan përkthimin e një përmbledhjeje të vogël
pĂ«r UI-nĂ« web . Autori i asaj artikulli dhe vetĂ« utilitarit â Henning Jacobs nga kompania Zalando â e pozicionoi novitetin si "kubectl pĂ«r webin". Ai dĂ«shiron tĂ« krijojĂ« njĂ« mjet me mundĂ«si tĂ« pĂ«rshtatshme pĂ«r ndĂ«rveprimin nĂ« formatin e mbĂ«shtetjes teknike (pĂ«r shembull, tĂ« tregonte shpejt njĂ« problem me njĂ« lidhje web) dhe pĂ«r reagimin ndaj incidenteve, kĂ«rkimin e problemeve nĂ« shumĂ« klasterĂ« njĂ«kohĂ«sisht. Krijimi i tij po zhvillohet dhe aktualisht (nĂ« shumicĂ«, nga vetĂ« autori). Duke shĂ«rbyer shumĂ« Kubernetes klasterĂ« tĂ« shkallĂ«ve tĂ« ndryshme, ne gjithashtu jemi tĂ« interesuar pĂ«r mundĂ«sinĂ« e ofrimit tĂ« klientĂ«ve njĂ« mjet vizual. GjatĂ« zgjedhjes sĂ« ndĂ«rfaqes sĂ« duhur, mundĂ«sitĂ« kyçe pĂ«r ne ishin si mĂ« poshtĂ«:
mbështetje për ndarjen e të drejtave të përdoruesve (RBAC);
- visualizimi i gjendjes së hapësirës emërtimore dhe primitiveve standarde të Kubernetes (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
- akses në komandën e linjës brenda pod-it;
- shikimi i log-eve të pod-eve;
- shikimi i gjendjes së pod-eve (
- përshkrimi i gjendjes
çmontimi i pod-eve.); - Funksione të tjera, si shikimi i burimeve të konsumuar (në këndvështrim të pod-eve/kontrollorëve/hapësirave emërtimore), krijimi/redaktimi i primitiveve K8s, nuk janë të rëndësishme për procesin tonë të punës.
Ne do ta fillojmĂ« pĂ«rmbledhjen me Kubernetes Dashboard klasik, qĂ« Ă«shtĂ« pranuar si standard nga ne. Duke marrĂ« parasysh se bota nuk qĂ«ndron, (dhe kjo do tĂ« thotĂ« â Kubernetes po krijon gjithnjĂ« e mĂ« shumĂ« GUI), ne do tĂ« flasim edhe pĂ«r alternativat e tij aktuale, duke e pĂ«rmbledhur tĂ« gjitha nĂ« njĂ« tabelĂ« krahasuese nĂ« fund tĂ« artikullit.
: Në përmbledhje ne nuk do të përsëritemi me ato zgjidhje që janë shqyrtuar tashmë në
NB, megjithatĂ« â pĂ«r plotĂ«sinĂ« e pamjes â opsionet pĂ«rkatĂ«se nga ajo (K8Dash, Octant, Kubernetes Web View) janĂ« pĂ«rfshirĂ« nĂ« tabelĂ«n pĂ«rfundimtare. 1. Kubernetes Dashboard
Faqja e dokumentacionit
- ;
- Licenca: Apache 2.0;
- Licenca: Apache 2.0;
- Përmbledhje: "Një ndërfaqe universale për klasterët Kubernetes. Ajo u lejon përdoruesve të menaxhojnë aplikacionet që punojnë në klaster dhe të zgjidhin problemet, si dhe të menaxhojnë klasterin vetë."

Ky është një panel i përgjithshëm, i shqyrtuar nga autorët e Kubernetes në dokumentacionin zyrtar (ndonëse dhe me default). Ai është i dedikuar për nevojat e operacioneve përditore dhe debugging të aplikacioneve në klaster. Ne e përdorim si një mjete vizuale të lehta, të plotësuara, që i ofron zhvilluesve qasje të nevojshme të mjaftueshme në klaster. Kapacitetet e saj mbulojnë të gjitha nevojat e tyre që lindin gjatë përdorimit të klasterit (në ne demonstruam disa veçori të panelit). Siç mund të kuptohet lehtë, kjo do të thotë se ajo plotëson të gjitha kërkesat tona të listuara më sipër.
Mes mundësive kryesore të Kubernetes Dashboard:
- Navigimi: shikimi i objekteve kryesore K8s në përputhje me hapësirat emrin.
- Me të drejtat e administratorit, paneli tregon nyjat, hapësirat emrin dhe volumes e përhershme. Në lidhje me nyjat, është e disponueshme statistika për përdorimin e memories, procesorit, alokimin e burimeve, metrikat, statuset, ngjarjet etj.
- Shikimi i aplikacioneve të shpërndara në hapësirën emrin, sipas llojit të tyre (Deployment, StatefulSet etj.), lidhjeve midis tyre (ReplicaSet, Horizontal Pod Autoscaler), statistikave të përgjithshme dhe të personalizuara dhe informacionit.
- Shikimi i shërbimeve dhe Ingress'ëve, si dhe lidhjeve të tyre me pod'ët dhe endpoint'ët.
- Shikimi i objekteve të skedarëve dhe ruajtjeve: Persistent Volume dhe Persistent Volume Claim.
- Shikimi dhe modifikimi i ConfigMap dhe Secret.
- Shikimi i logjeve.
- Qasja në linjën e komandës në konteinerit.
Një disavantazh të dukshëm (me sa duket, jo për ne) - nuk ka mbështetje për funksionimin në shumë klasterë. Projekti po zhvillohet aktivisht nga komuniteti dhe mbështet funksionet aktuale me daljen e versioneve dhe specifikacioneve të reja të Kubernetes API: versione më e fundit e panelit - nga 22 maji 2020 - është testuar për përputhshmëri me Kubernetes 1.18.
2. Lens
- ;
- ;
- (~4800 yjet GitHub);
- Licenca: MIT;
- Përmbledhje: "IDE për Kubernetes."

Projekti pozicionohet si një ambient i plotë i integruar i zhvillimit (IDE) për Kubernetes. Ajo është optimizuar për të punuar me shumë klasterë dhe një numër të madh pod'ësh të aktivizuar në to (testuar në 25 mijë pod'ësh).
Karakteristikat kryesore/mundësitë e Lens:
- Një aplikacion autonom që nuk kërkon instalimin e ndonjë gjëje brenda klasterit (saktësisht, për të marrë të gjitha metrikat do të nevojitet Prometheus, por për këtë mund të përdoren edhe instalime ekzistuese). Instalimi "fillestar" bëhet në një kompjuter personal nën menaxhimin e Linux, macOS ose Windows.
- Menaxhimi shumëklasteror (mbështeten qindra klasterë).
- Vizualizimi i gjendjes së klasterit në kohë reale.
- Grafikët e përdorimit të burimeve dhe tendencat me histori të bazuar në Prometheus-in e integruar.
- Qasje në komandën e rreshtit të kontejnerëve dhe në nyjet e klasterit.
- Mbështetje e plotë për Kubernetes RBAC.
LĂ«shimi aktual â nga 16 qershori 2020. Versioni fillestar u krijua nĂ« kompaninĂ« Kontena, dhe deri mĂ« sot tĂ« gjitha tĂ« drejtat e pronĂ«s intelektuale i janĂ« transferuar njĂ« organizate tĂ« veçantĂ« , e cila quhet "bashkimi i geekĂ«ve dhe teknologĂ«ve cloud native", dhe e cila Ă«shtĂ« pĂ«rgjegjĂ«se pĂ«r "ruajtjen dhe disponueshmĂ«rinĂ« e softuerit dhe produkteve Open Source tĂ« Kontena".
Lens â projekti i dytĂ« mĂ« popullor nĂ« GitHub nga kategoria GUI pĂ«r Kubernetes, qĂ« "humbet" vetĂ«m ndaj Kubernets Dashboard. TĂ« gjitha zgjidhjet e tjera Open Source qĂ« nuk janĂ« nga kategoria CLI* janĂ« dukshĂ«m mĂ« pak tĂ« njohura.
* Shihni për K9s në pjesën bonus të shqyrtimit.
3. Kubernetic
- ;
- ;
- (200+ yje në GitHub);
- Licenca: pronë;
- Në përmbledhje: "Menaxhimi i klasterit, bërë e thjeshtë".

Ky Ă«shtĂ« njĂ« aplikacion pronĂ«sor qĂ« instalohet nĂ« njĂ« kompjuter personal (pĂ«rkrah Linux, macOS, Windows). AutorĂ«t e tij premtojnĂ« njĂ« zĂ«vendĂ«sim tĂ« plotĂ« pĂ«r utilitarin e komandĂ«s, dhe pĂ«rmes tij â nevojĂ«n pĂ«r tĂ« kujtuar komandat dhe madje njĂ« rritje tĂ« dhjetĂ«fish tĂ« shpejtĂ«sisĂ« sĂ« punĂ«s.
Një nga veçoritë interesante të mjetit është mbështetja e integruar për Helm-charts, ndërsa një nga disavantazhet është mungesa e metrikave të performancës së aplikacioneve.
Veçoritë kryesore të Kubernetic:
- Shfaqje e përshtatshme e gjendjes së klasterit. Një ekran për të parë të gjitha objektet përkatëse të klasterit dhe varësitë e tyre; gjendja e gatishmërisë e ruajtur në të kuqe/jeshile për të gjitha objektet; moda e shikimit të gjendjes së klasterit me përditësimin e statusit në kohë reale.
- Butona veprimi të shpejtë për fshirjen dhe dimensionimin e aplikacioneve.
- Mbështetje për punën shumëklasterore.
- Punë e thjeshtë me hapësirat emëruese.
- Mbështetje për Helm charts dhe repositorët Helm (përfshirë privatët). Instalimi dhe menaxhimi i charts në ndërfaqen e web-it.
Ămimi aktual i produktit â njĂ« pagesĂ« njĂ«herore prej 30 eurosh pĂ«r pĂ«rdorimin nga njĂ« person pĂ«r çdo numĂ«r hapĂ«sirash emrash dhe klasteresh.
4. Kubevious
- ;
- ;
- (~500 yjet GitHub);
- Licenca: Apache 2.0
- Në shkurt: "Kubevious e bën klasterin Kubernetes, konfigurimin e aplikacioneve dhe shikimin e gjendjes së tyre të sigurt dhe të lehtë për t'u kuptuar."

Ideja e projektit është krijimi i një instrumenti të destinuar për analizimin dhe debugimin e konfiguracioneve të aplikacioneve të implementuara në një klaster. Autorët janë fokusuar kryesisht në implementimin e këtyre veçorive, duke lënë gjërat më të përgjithshme për më vonë.
Karakteristikat dhe funksionet kryesore të Kubevious:
- Vizualizimi i klasterit në një mënyrë të orientuar nga aplikacionet: objektet e lidhura në ndërfaqe grumbullohen, duke u renditur në një hierarki.
- Shfaqja e qartë e varësive në konfigurimet dhe pasojat kaskadë të ndryshimeve të tyre.
- Shfaqja e gabimeve të konfigurimit të klasterit: përdorimi i gabuar i etiketave, portet e humbura etj. (Në rast se ju intereson kjo veçori, shikoni , për të cilin ne .)
- PĂ«rveç pikĂ«s sĂ« mĂ«parshme â zbulimi i konteinerĂ«ve potencialisht tĂ« rrezikshĂ«m Ă«shtĂ« i disponueshĂ«m, pra ata qĂ« kanĂ« privilegje shumĂ« tĂ« mĂ«dha (atributet
hostPID,hostNetwork,hostIPC, montimidocker.sockdhe gjëra të ngjashme). - Një sistem i avancuar kërkimi në klaster (jo vetëm mbi emrat e objekteve, por edhe mbi pronat e tyre).
- Instrumente për planifikimin e kapaciteteve dhe optimizimin e burimeve.
- Një "makinë kohe" e integruar (mundësia për të parë ndryshimet e ndodhura më parë në konfigurimin e objekteve).
- Menaxhimi i RBAC duke përdorur një tabelë përmbledhëse të lidhur nga Roles, RoleBindings, ServiceAccounts.
- Punon vetëm me një klaster.
Projekti ka një histori të shkurtër (lëshimi i parë u bë më 11 shkurt 2020) dhe duket se ka një periudhë stabilizimi ose ngadalësimi në zhvillim. Nëse versionet e mëparshme u lëshuan shpesh, lëshimi i fundit ( i 15 prillit 2020) është vonuar nga ritmi fillestar i zhvillimit. Ndoshta kjo lidhet me numrin e vogël të kontribuesve: në historinë e depozitës janë vetëm 4, dhe gjithë puna faktike bëhet nga një person.
5. Kubewise
- ;
- Licenca: pronësore (do të bëhet Open Source);
- Në shkurt: "Një klient shumëplatformatik i thjeshtë për Kubernetes."

Një produkt i ri nga kompania VMware, fillimisht i krijuar në kuadër të një hackatoni të brendshëm (në qershor 2019). Instaloohet në kompjuterin personal, punon mbi bazën e (mbështeten Linux, macOS dhe Windows) dhe kërkon kubectl më të lartë se v1.14.0.
Karakteristikat kryesore të Kubewise:
- Ndërveprimi në ndërfaqe me entitetet më të shpeshta të përdorura në Kubernetes: node, hapësira emërimi etj.
- Mbështetje për disa skedarë kubeconfig për klasterë të ndryshëm.
- Terminal me mundësinë e vendosjes së variablave të ambientit
KUBECONFIG. - Generimi i skedarëve e personalizuar kubeconfig për hapësirën e emërtesës së caktuar.
- Funksionalitete të avancuara të sigurisë (RBAC, fjalëkalime, llogaritë e shërbimit).
PĂ«r momentin projekti ka vetĂ«m njĂ« lĂ«shim â versionin nga 26 nĂ«ntori 2019. Dhe autoret e kishin planifikuar ta publikonin atĂ« si Open Source, megjithatĂ« pĂ«r shkak tĂ« problemeve tĂ« brendshme (jo tĂ« lidhura me çështje teknike) nuk arritĂ«n ta bĂ«nin kĂ«tĂ«. NĂ« maj 2020, autorĂ«t po punonin pĂ«r lĂ«shimin e ardhshĂ«m dhe njĂ«herĂ«sh duhej tĂ« nisin procesin e hapjes sĂ« kodit.
6. Konsola OpenShift
- ;
- (~150 yje në GitHub);
- Licenca: Apache 2.0;
- Në përmbledhje: 'UI për klasterët OpenShift'.

Megjithëse kjo ndërfaqe web është pjesë e shpërndarjes OpenShift (aty instalohen përmes ), autorët mundësinë e instalimit/përdorimit të saj edhe në instalkimet e zakonshme (vanilla) të Kubernetes.
Konsola OpenShift është zhvilluar për një kohë të gjatë, për këtë arsye ka përfshirë shumë funksione. Të përmendim disa nga ato kryesore:
- Qasja e ndarĂ« nĂ« ndĂ«rfaqe â dy 'perspektiva' tĂ« disponueshme nĂ« mundĂ«sitĂ« e KonsolĂ«s: pĂ«r administratorĂ«t dhe pĂ«r zhvilluesit. Rejimi Perspektiva e Zhvilluesit grupizon objektet nĂ« njĂ« formĂ« mĂ« tĂ« kuptueshme pĂ«r zhvilluesit (sipĂ«r aplikacioneve) dhe orienton ndĂ«rfaqen nĂ« zgjidhjen e detyrave tipike si depolimi i aplikacioneve, ndjekja e statusit tĂ« ndĂ«rtimit/depolimit dhe madje edhe redaktimi i kodit pĂ«rmes Eclipse Che.
- Menaxhimi i ngarkesave të punës, rrjetit, ruajtjes, të drejtave të aksesit.
- Pjesa logjike e ndarjes pĂ«r ngarkesat e punĂ«s nĂ« projekte dhe aplikacione. NĂ« njĂ« nga lĂ«shimet e fundit â v4.3 â pjesa speciale Dashboard-i i Projektit, i cili tregon tĂ« dhĂ«na tĂ« zakonshme (numri dhe statuset e depolimeve, pod-eve etj.; konsumimi i burimeve dhe metrika tĂ« tjera) nĂ« prizmin e projekteve.
- Përditësimi në kohë reale i gjendjes së klasterit, ndryshimeve (ngjarjeve) që ndodhin në të; shikimi i log-eve.
- Shikimi i të dhënave të monitorimit të bazuara në Prometheus, Alertmanager dhe Grafana.
- Menaxhimi i operatorëve të paraqitur në .
- Menaxhimi i ndërtimeve që ekzekutohen përmes Docker (nga repozitori i specifikuar me Dockerfile), ose vegla të jashtme të rastësishme.
NB: Nuk e kemi përfshirë në krahasim të tjerët distribuime Kubernetes (për shembull, më pak të njohura ): megjithëse ndërfaqja grafike në to mund të jetë shumë e avancuar, zakonisht vjen si pjesë e një stk të integruar të një sistemi të madh. Megjithatë, nëse mendoni se mungon ndonjë zgjidhje që funksionon plotësisht edhe në instalimin vanilla të K8s, na njoftoni në komentet.
Bonusi
1. Portainer në Kubernetes në beta
- ;
- (~100 yje GitHub);
- Licenca: Zlib(?) (e tillë është për projekti prind).
Projekt nga ekipi Portainer, qĂ« zhvilloi ndĂ«rfaqen e njohur pĂ«r punĂ« me Docker. Duke qenĂ« se projekti Ă«shtĂ« nĂ« fazĂ«n e hershme tĂ« zhvillimit (beta e parĂ« dhe e vetme mĂ« 16 prill 2020), ne nuk e vlerĂ«suam funksionalitetin e saj. MegjithatĂ«, ndoshta do tĂ« interesojĂ« shumĂ«: nĂ«se Ă«shtĂ« pĂ«r ju â ndiqni zhvillimin.
2. IcePanel
- ;
- Licenca: pronë;
- Këtu është përmbledhja: «Editor vizual për Kubernetes».

Ky është një aplikacion i ri desktop që synon të vizualizojë burimet e Kubernetes në kohë reale dhe t'i menaxhojë ato me një ndërfaqe të thjeshtë në stilin drag & drop. Objektet e mbështetura aktualisht janë Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap dhe Secret. Shumë shpejt premtojnë të shtojnë mbështetje për Helm. Dobitë kryesore janë mbyllësia e kodit (pritet që të hapet në 'njëfarë forme' 3. k9s
(~7700 yje GitHub);
- ;
- ;
- Përmbledhja: «Ndërfaqja e konsolës për Kubernetes, që lejon menaxhimin stile të klasterit».
- Licenca: Apache 2.0;
- Përmbledhje: «Interfacesi konsolë për Kubernetes, që lejon menaxhimin elegant të klasterit».

Utilitari u shfaq vetëm në pjesën bonus të rishikimit për shkak se ofron një GUI konsolë. Megjithatë, autorët e kanë shfrytëzuar maksimalisht terminalin, duke ofruar jo vetëm një ndërfaqe përdoruesi të këndshme, por gjithashtu 6 tema të paracaktuara dizajni dhe një sistem të zhvilluar të kombinimeve të tastierës dhe aliaseve për komandat. Qasja e tyre e thellë nuk u kufizua në pamje: mundësitë e k9s janë të këndshme për t'u parë: menaxhimi i burimeve, shfaqja e gjendjes së klasterit, paraqitja hierarkike e burimeve me varësi, shikimi i logëve, mbështetje për RBAC, zgjerimi i mundësive përmes plug-inëve⊠Të gjitha këto i pëlqyen një komuniteti të gjerë K8s: numri i yjeve në GitHub për këtë projekt është pothuajse i barabartë me atë të Kubernetes Dashboard-it zyrtar!
4. Panelet e menaxhimit të aplikacioneve
Dhe nĂ« pĂ«rfundim tĂ« rishikimit â njĂ« mini-kategori e veçantĂ«. Ajo pĂ«rfshin dy ndĂ«rfaqe tĂ« uebit, tĂ« destinuara jo pĂ«r menaxhimin e plotĂ« tĂ« klasterĂ«ve Kubernetes, por pĂ«r menaxhimin e asaj qĂ« ato vendosin.
Siç dihet, një nga mjetet më të zhvilluara dhe të përhapura përMShën e aplikacioneve të ndërlikuara në Kubernetes është Helm. Gjatë periudhës së tij të ekzistencës, janë grumbulluar shumë paketa (Helm charts) për shpërndarjen e lehtë të . Prandaj është krejt logjike që të shfaqen mjete përkatëse vizuale që lejojnë menaxhimin e ciklit të jetës së charta.
4.1. Monocular
- (1300+ yje në GitHub);
- Licenca: Apache 2.0;
- Në përmbledhje: "Një aplikacion web për kërkimin dhe zbulimin e Helm-charts në shumë repozita. Shërben si një bazë për projektin Helm hub."

Ky zhvillim nga autorët e Helm instalohet në Kubernetes dhe punon brenda një klasteri, duke e realizuar detyrën e vendosur. Megjithatë, aktualisht projekti nuk është pothuajse në zhvillim. Qëllimi i tij kryesor është të mbështesë ekzistencën e Helm Hub. Për kërkesa të tjera, autorët rekomandojnë Kubeapps (shih më poshtë) ose Red Hat Automation Broker (pjesë e OpenShift, por gjithashtu nuk është në zhvillim).
4.2. Kubeapps
- ;
- ;
- (~2100 yje në GitHub);
- Licenca: Apache 2.0
- Në përmbledhje: "Përgjigjësja juaj e aplikacioneve për Kubernetes."

Produkti nga Bitnami, i cili gjithashtu instalohet në klasterin Kubernetes, por dallon nga Monocular përqendrimi fillestar në punën me repozita private.
Karakteristikat dhe veçoritë kryesore të Kubeapps:
- Shikoni dhe instaloni helm charts nga repozitat.
- Kontrolloni, përditësoni dhe hiqni aplikacione të bazuara në Helm, të instaluara në klaster.
- Mbështetje për punën me depo të personalizuara dhe private të chart-ave (mbështet ChartMuseum dhe JFrog Artifactory).
- Shikimi dhe puna me shĂ«rbime tĂ« jashtme â nga Katalogu i ShĂ«rbimeve dhe BrokerĂ«t e ShĂ«rbimeve.
- Publikimi i aplikacioneve të instaluara përmes mekanizmit të Katalogut të Shërbimeve.
- Mbështetje për autentikimin dhe ndarjen e të drejtave përmes RBAC.
Tabela përfundimtare
Më poshtë gjeni një tabelë përmbledhëse, në të cilën kemi përpiquar të ndërthurim dhe agregojmë funksionalitetet kryesore të ndërfaqeve vizuale ekzistuese për të lehtësuar krahasimin:
(Versioni online i tabelës .)
Përfundim
NdĂ«rfaqet grafike pĂ«r Kubernetes janĂ« njĂ« niĆĂ« mjaft specifike dhe e re. SidoqoftĂ«, ajo po zhvillohet nĂ« mĂ«nyrĂ« shumĂ« aktive: tashmĂ« mund tĂ« gjenden si zgjidhje mjaft tĂ« pjekura, ashtu edhe shumĂ« tĂ« reja, tĂ« cilat ende kanĂ« vend pĂ«r tĂ« rritur. Ato janĂ« tĂ« orientuara drejt varianteve tĂ« ndryshme tĂ« pĂ«rdorimit, duke ofruar funksione dhe pamje pĂ«r çdo shije. ShpresojmĂ« se kjo pĂ«rmbledhje do t'ju ndihmojĂ« tĂ« zgjidhni mjetin mĂ« tĂ« mirĂ« pĂ«r tĂ« pĂ«rmbushur nevojat tuaja aktuale.
P.S.
Faleminderit për të dhënat mbi OpenShift Console për tabelën krahasuese!
Lexoni gjithashtu në blogun tonë:
- «»;
- «»;
- «»;
- «».
Burimi: habr.com
