
Per u travagliu cumpletu cù u sistema, a cunniscenza di l'utilità di linea di cummanda hè impurtante: in u casu di Kubernetes, questu hè kubectl. Per d 'altra banda, interfacce grafiche ben cuncepite è pensate ponu esse realizatuоa maiò parte di i travaglii di solitu è apre uccasioni supplementari per u funziunamentu di i sistemi.
L'annu passatu avemu publicatu una traduzzione per Kubernetes, tempu per coincide cù l'annunziu di l'interfaccia web . L'autore di quellu articulu è l'utilità stessu, Henning Jacobs da Zalando, hà ghjustu posizionatu u novu pruduttu cum'è "kubectl per u web". Vuliu creà un strumentu cù capacità d'amichevule per l'interazzione in un formatu di supportu tecnicu (per esempiu, mostra rapidamente u prublema cù un ligame web) è per risponde à l'incidentu, cercandu prublemi in parechji clusters à u stessu tempu. A so prole si sviluppa in u mumentu prisente (principalmente da i sforzi di l'autore stessu).
Siccomu serve parechji cluster Kubernetes di diverse dimensioni, simu ancu interessatu à pudè furnisce un strumentu visuale à i nostri clienti. Quandu sceglite una interfaccia adatta, e seguenti caratteristiche eranu chjave per noi:
- supportu per a differenziazione di i diritti di l'utilizatori (RBAC);
- visualizazione di u statu di u namespace è i primitivi standard di Kubernetes (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
- accede à a linea di cummanda in u pod;
- vede logs di pods;
- vede u statutu di pods (
describe status); - caccià i baccelli.
Altre funzioni, cum'è a visualizazione di risorse cunsumate (in u cuntestu di pods / controllers / namespaces), creanu / editendu primitivi K8s, ùn sò micca rilevanti in u nostru flussu di travagliu.
Cumincià a rivista cù u classicu Kubernetes Dashboard, chì hè u nostru standard. Siccomu u mondu ùn si ferma (chì significa chì Kubernetes hà più è più novi GUI), parleremu ancu di e so alternative attuali, resumendu tuttu in una tabella comparativa à a fine di l'articulu.
NB: In a rivista, ùn avemu micca ripetitu cù quelli suluzioni chì sò digià statu cunsideratu in , in ogni modu, per esse cumpletu, l'opzioni pertinenti da ellu (K8Dash, Octant, Kubernetes Web View) sò inclusi in a tabella finale.
1. Kubernetes Dashboard
- ;
- (8000+ stelle GitHub);
- Licenza: Apache 2.0;
- In breve: "Interfaccia web universale per i cluster Kubernetes. Permette à l'utilizatori di gestisce è risolve l'applicazioni in esecuzione in u cluster, è ancu di gestisce u cluster stessu ".

Questu hè un pannellu di scopu generale coperto da l'autori Kubernetes in a documentazione ufficiale (ma default). Hè pensatu per i bisogni di l'operazione di ogni ghjornu è di debugging di l'applicazioni in un cluster. In casa, l'utilicemu cum'è un strumentu visuale ligeru cumpletu chì ci permette di furnisce i sviluppatori cù l'accessu necessariu è abbastanza à u cluster. E so capacità copre tutte e so bisogni chì si sviluppanu in u prucessu di usu di u cluster (in avemu dimustratu alcune caratteristiche di u pannellu). Comu pudete intuisce, questu significa chì risponde à tutti i nostri bisogni elencati sopra.
Trà e caratteristiche principali di Kubernetes Dashboard:
- Navigazione: vede l'uggetti principali di K8s in u cuntestu di spazii di nomi.
- Se avete diritti di amministratore, u pannellu mostra nodi, spazii di nomi è volumi persistenti. Per i nodi, statistiche sò dispunibuli nantu à l'usu di memoria, processore, allocazione di risorse, metriche, statutu, avvenimenti, etc.
- Vede l'applicazioni implementate in un spaziu di nomi per u so tipu (Deployment, StatefulSet, etc.), relazioni trà elli (ReplicaSet, Horizontal Pod Autoscaler), statistiche è informazioni generali è persunalizati.
- Vede i servizii è Ingressi, è ancu e so rilazioni cù pods è endpoints.
- Vede l'uggetti di u schedariu è i magazzini: Volume Persistente è Reclamazione di Volume Persistente.
- Vede è edità ConfigMap è Secret.
- Vede i logs.
- Accessu à a linea di cummanda in cuntenituri.
Un inconveniente significativu (in ogni modu, micca per noi) hè chì ùn ci hè micca supportu per u travagliu multi-cluster. U prughjettu hè attivamente sviluppatu da a cumunità è mantene e funzioni pertinenti cù a liberazione di novi versioni è specificazioni di l'API Kubernetes: l'ultima versione di u pannellu hè 22 di maghju 2020 - Pruvatu per a cumpatibilità cù Kubernetes 1.18.
2. Lente
- ;
- ;
- (~ 4800 stelle GitHub);
- Licenza: MIT;
- In breve: "Kubernetes IDE".

U prugettu hè posizionatu cum'è un ambiente di sviluppu integratu cumpletu (IDE) per Kubernetes. Inoltre, hè ottimizatu per travaglià cù parechji clusters è un gran numaru di pods chì currenu in elli (pruvatu nantu à 25 pods).
Caratteristiche principali / capacità di Lens:
- Un'applicazione autonoma chì ùn richiede alcuna installazione in u cluster (più precisamente, Prometheus hè necessariu per ottene tutte e metriche, ma una installazione esistente pò esse aduprata per questu). L'installazione "principale" hè realizata nantu à un urdinatore persunale chì esegue Linux, macOS o Windows.
- Gestione multi-cluster (centnaie di clusters supportati).
- Visualizazione di u statu di u cluster in tempu reale.
- Grafici di usu di risorse è tendenzi cù a storia basatu annantu à Prometheus integratu.
- Accessu à a linea di cummanda di cuntenituri è in i nodi di cluster.
- Supportu cumpletu per Kubernetes RBAC.
Liberazione attuale - datatu u 16 di ghjugnu 2020 Originariamente creatu da Kontena, oghje tutta a pruprietà intellettuale hè stata trasferita à una urganizazione speciale. , chjamatu "un'unione di geeks è tecnulugichi nativi di nuvola", chì hè rispunsevule per a "priservazione è a dispunibilità di u software è i prudutti Open Source di Kontena".
Lens hè u sicondu prughjettu più populari in GitHub da a GUI per a categuria Kubernetes, "perdendu" solu u Kubernets Dashboard stessu. Tutte e altre soluzioni Open Source chì ùn sò micca da a categuria CLI * sò significativamente inferiori in pupularità.
* Vede circa K9s in a parte bonus di a rivista.
3. Kubernetic
- ;
- ;
- (200+ stelle GitHub);
- Licenza: pruprietariu;
- In corta: "A gestione di cluster hè facilitata".

Questa hè una applicazione pruprietaria chì hè stallata nantu à un urdinatore persunale (supportata Linux, macOS, Windows). I so creatori prumettenu una sustituzione cumpleta di l'utilità di linea di cummanda, eliminendu a necessità di ricurdà i cumandamenti è ancu aumentendu a velocità operativa dece volte.
Una di e caratteristiche interessanti di l'uttellu hè u supportu integratu per i charts Helm, è unu di i inconvenienti hè a mancanza di metrica di rendiment di l'applicazione.
Caratteristiche principali di Kubernetic:
- Visualizzazione conveniente di u statu di cluster. Una schermu per vede tutti l'oggetti di cluster cunnessi è e so dipendenze; statutu di prontu rossu / verde per tutti l'uggetti; Modu di visualizazione di u statu di cluster cù aghjurnamenti di statutu in tempu reale.
- Buttuni d'azzione rapida per sguassà è scala l'applicazione.
- Supportu per l'operazione multi-cluster.
- U travagliu simplice cù spazii di nomi.
- Supportu per i charts Helm è i repositori Helm (cumpresi quelli privati). Installazione è gestione di carte in l'interfaccia web.
U costu attuale di u pruduttu hè un pagamentu unicu di 30 euru per u so usu da una persona per ogni numeru di spazii di nomi è clusters.
4. Kubevious
- ;
- ;
- (~ 500 stelle GitHub);
- Licenza: Apache 2.0
- In breve: "Kubevious rende i clusters Kubernetes, a cunfigurazione di l'applicazione è a visualizazione di u statutu sicura è faciule da capisce".

L'idea di u prugettu hè di creà un strumentu cuncepitu per analizà è debug cunfigurazioni di l'applicazione implementate in un cluster. L'autori cuncintrau principarmenti nantu à l'implementazione di sti funziunalità, lascendu e cose più generale per più tardi.
Funzioni è funzioni chjave di Kubevious:
- Visualizazione di cluster in una manera centrata in l'applicazione: l'uggetti cunnessi in l'interfaccia sò raggruppati, allineati in una gerarchia.
- Visualizzazione visuale di dipendenze in cunfigurazioni è cunsequenze cascate di i so cambiamenti.
- Visualizzazione di l'errori di cunfigurazione di u cluster: abusu di etichette, porti mancati, etc. (A propositu, sè vo site interessatu à sta funzione, fate attenzione à circa chì noi .)
- In più di u puntu precedente, a rilevazione di cuntenituri potenzialmente periculosi hè dispunibule, i.e. avè troppu privilegii (attributi
hostPID,hostNetwork,hostIPC, muntagnadocker.sockecc). - Sistema di ricerca avanzata per u cluster (micca solu per i nomi di l'uggetti, ma ancu per e so proprietà).
- Strumenti per a pianificazione di capacità è ottimisazione di risorse.
- "Macchina di u tempu" integrata (a capacità di vede i cambiamenti precedenti in a cunfigurazione di l'uggetti).
- Gestione RBAC cù una tabella pivot interrelata di Roles, RoleBindings, ServiceAccounts.
- Funziona cù un solu cluster.
U prugettu hà una storia assai corta (a prima liberazione hè accaduta l'11 di ferraghju 2020) è pare chì ci hè statu un periodu di stabilizazione o di rallentamentu in u sviluppu. Se e versioni precedenti sò stati liberati spessu, allora l'ultima versione ( 15 d'aprile di u 2020) hà ritardatu u ritmu iniziale di sviluppu. Questu hè probabilmente duvuta à u picculu numeru di cuntributori: ci sò solu 4 in a storia di u repository, è tuttu u travagliu propiu hè fattu da una sola persona.
5. Kubewise
- ;
- Licenza: pruprietariu (diventà Open Source);
- In breve: "Un cliente multipiattaforma simplice per Kubernetes".

Un novu pruduttu da VMware, originariamente creatu cum'è parte di un hackathon internu (in ghjugnu 2019). Installatu nantu à un urdinatore persunale, travaglia nantu à a basa di (sustinutu) Linux, macOS и Windows) è richiede kubectl micca inferiore à v1.14.0.
Caratteristiche principali di Kubewise:
- Interazzione di l'interfaccia cù l'entità Kubernetes più usate: nodi, spazii di nomi, etc.
- Supportu per parechji fugliali kubeconfig per diversi clusters.
- Terminal cù a capacità di stabilisce una variabile d'ambiente
KUBECONFIG. - Generate fugliali kubeconfig persunalizati per u spaziu di nomi datu.
- Funzioni di sicurezza avanzate (RBAC, password, cunti di serviziu).
Finu a ora, u prugettu hà solu una versione - versione data di u 26 di nuvembre di u 2019. Inoltre, l'autori prughjettanu di liberà immediatamente cum'è Open Source, ma per via di prublemi internu (micca ligati à prublemi tecnichi) ùn puderanu micca fà questu. Da maghju 2020, l'autori travaglianu nantu à a prossima versione è duveranu inizià u prucessu di apertura di codice à u stessu tempu.
6. OpenShift Console
- ;
- (~ 150 stelle GitHub);
- Licenza: Apache 2.0;
- In breve: "UI per OpenShift Clusters".

Malgradu u fattu chì sta interfaccia web face parte di a distribuzione OpenShift (hè installata quì usendu ), autori a capacità di stallà / aduprà in installazioni Kubernetes normale (vanilla).
OpenShift Console hè statu in sviluppu per un bellu pezzu, cusì hà incorporatu parechje funziunalità. Mencioneremu i principali:
- Approcciu di l'interfaccia cumuni - duie "prospettive" di e pussibulità dispunibili in a Console: per amministratori è per i sviluppatori. Modu perspettiva di u sviluppatore raggruppa l'uggetti in una forma più comprensibile per i sviluppatori (per applicazioni) è focalizeghja l'interfaccia nantu à risolve tali compiti tipici cum'è implementazione di applicazioni, seguimentu di u statutu di custruzzione / implementazione, è ancu editendu codice attraversu Eclipse Che.
- Gestione di carichi di travagliu, rete, almacenamiento, diritti d'accessu.
- Separazione logica per carichi di travagliu in prughjetti è applicazioni. In una di l'ultime versioni - v4.3 - speciale dashboard di u prugettu, chì mostra i dati di solitu (u nùmeru è i stati di implementazioni, pods, etc.; cunsumu di risorse è altre metriche) in una fetta di prughjettu.
- Aghjurnatu in tempu reale visualizazione di u statu di u cluster, cambiamenti (eventi) chì sò accaduti in questu; vede logs.
- Vede i dati di monitoraghju basatu nantu à Prometheus, Alertmanager è Grafana.
- Gestione di l'operatori rapprisentati in .
- Gestisce e custruzzioni chì passanu attraversu Docker (da un repositoriu specificatu cù un Dockerfile), o utilità esterne arbitrarie.
NB: Ùn avemu micca aghjustatu altri à u paragone Distribuzioni Kubernetes (per esempiu, u assai menu cunnisciutu ): malgradu u fattu chì a GUI pò esse assai avanzata in elli, di solitu vene cum'è parte di a pila integrata di un grande sistema. In ogni casu, se pensate chì ùn ci sò micca abbastanza suluzioni chì funzionanu cumplettamente in a stallazione di vaniglia K8s, fateci sapè in i cumenti.
Bonus
1. Portainer nantu à Kubernetes in Beta
- ;
- (~ 100 stelle GitHub);
- Licenza: Zlib(?) (stessu per u prughjettu di i genitori).
Un prughjettu di a squadra di Portainer, chì hà sviluppatu l'interfaccia populari di u listessu nome per travaglià cù Docker. Siccomu u prugettu hè in una prima fase di sviluppu (a prima è l'unica versione beta 16 aprile 2020), ùn avemu micca evaluatu e so caratteristiche. Tuttavia, pò esse d'interessu per parechji: se questu hè di voi, seguite u sviluppu.
2. IcePanel
- ;
- Licenza: pruprietariu;
- In breve: "Visual Kubernetes Editor".

Questa ghjovana applicazione desktop hà u scopu di visualizà è gestisce e risorse Kubernetes in tempu reale cù una semplice interfaccia drag & drop. L'oggetti attualmente supportati sò Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap è Secret. Prestu prumettenu di aghjunghje supportu per Helm. I svantaghji principali sò a vicinanza di u codice (si spetta ) è mancanza di sustegnu Linux (solu e versioni per avà sò dispunibili Windows и macOS, ancu s'ellu hè probabilmente solu una questione di tempu).
3.k9s
- ;
- ;
- (~ 7700 stelle GitHub);
- Licenza: Apache 2.0;
- In corta: "Una interfaccia di cunsola per Kubernetes chì vi permette di gestisce u vostru cluster in stile".

L'utilità era solu in a parte bonus di a rivista per u mutivu chì offre una GUI di cunsola. In ogni casu, l'autori littiralmente stringhjenu u massimu fora di u terminal, chì offre micca solu una interfaccia user-friendly, ma ancu 6 temi predefiniti, è un sistema avanzatu di scurciate di tastiera è alias di cumandamentu. U so approcciu cumpletu ùn hè micca limitatu à l'apparenza: e funzioni di k9s sò piacevule impressiunanti: gestione di risorse, affissendu u statu di u cluster, affissendu risorse in una rapprisintazioni gerarchica cù dependenzii, logs di visualizazione, supportu RBAC, allargamentu di capacità attraversu plugins ... Tuttu questu appellu. à a larga cumunità K8s: u numeru L'astri GitHub di u prugettu sò quasi cum'è u Dashboard ufficiale di Kubernetes!
4. Panels cuntrollu Applicazioni
È à a fine di a rivista - una mini-categoria separata. Includeva duie interfacce web pensate micca per a gestione cumpleta di i cluster Kubernetes, ma per a gestione di ciò chì hè implementatu in elli.
Comu sapete, unu di i strumenti più maturi è diffusi per implementà applicazioni cumplessi in Kubernetes hè Helm. In u periodu di a so esistenza, parechji pacchetti (Helm charts) anu accumulatu per facilità di implementazione . Dunque, l'apparizione di strumenti visuali apprupriati chì permettenu di gestisce u ciclu di vita di i charts hè abbastanza logica.
4.1. Monocular
- (1300+ stelle GitHub);
- Licenza: Apache 2.0;
- In breve: "Una applicazione web per a ricerca è a scuperta di i grafici Helm in parechji repositori. Serve cum'è a basa per u prughjettu Helm hub ".

Stu sviluppu da l'autori di Helm hè stallatu in Kubernetes è travaglia in u stessu cluster, eseguendu u compitu. Tuttavia, à u mumentu, u prugettu hè quasi micca sviluppatu. U so scopu principale hè di sustene l'esistenza di Helm Hub. Per altri bisogni, l'autori ricumandenu Kubeapps (vede quì sottu) o Red Hat Automation Broker (parti di OpenShift, ma ancu chì ùn hè più sviluppatu).
4.2. Kubeapps
- ;
- ;
- (~ 2100 stelle GitHub);
- Licenza: Apache 2.0
- In breve: "U vostru dashboard di l'applicazione per Kubernetes".

Un pruduttu da Bitnami, chì hè ancu stallatu in un cluster Kubernetes, ma difiere da Monocular in u so focus iniziale nantu à travaglià cù repositori privati.
Funzioni chjave è caratteristiche di Kubeapps:
- Vede è installate i grafici Helm da i repositori.
- Verificate, aghjurnà è sguassate l'applicazioni basate in Helm installate nantu à u cluster.
- Supportu per i repositori di carte persunalizati è privati (supporta ChartMuseum è JFrog Artifactory).
- Visualizà è travaglià cù servizii esterni - da u Catalogu di Serviziu è Serviziu Brokers.
- A publicazione di l'applicazioni installate utilizendu u mecanismu di Service Catalog Bindings.
- Supportu per l'autentificazione è a separazione di diritti cù RBAC.
Table riassuntu
A sottu hè una tavola riassuntu in quale avemu pruvatu à riassume è aggregate e caratteristiche principali di l'interfacce visuali esistenti per facilità a comparazione:
(Versione in linea di a tavula .)
cunchiusioni
I GUI per Kubernetes sò un nichu piuttostu specificu è ghjovanu. Tuttavia, si sviluppa assai attivamente: hè digià pussibule di truvà solu suluzioni abbastanza mature, è assai ghjovani, chì anu sempre spaziu per cultivà. Si adattanu à una varietà di applicazioni, offre caratteristiche è sguardi per quasi tutti i gusti. Speremu chì sta rivisione vi aiuterà à sceglie u strumentu chì si adatta megliu à i vostri bisogni attuali.
PS
Grazie per i dati nantu à a Console OpenShift per a tabella di paragone!
Leghjite puru nant'à u nostru blog:
- «";
- «";
- «";
- «».
Source: www.habr.com
