Panoramica di GUI per Kubernetes

Panoramica di GUI per Kubernetes

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 una piccula panoramica di l'UI web per Kubernetes, tempu per coincide cù l'annunziu di l'interfaccia web Kubernetes WebView. 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 ultimu articulu, 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

  • Pagina di documentazione;
  • repository (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 ".

Panoramica di GUI per Kubernetes

Questu hè un pannellu di scopu generale coperto da l'autori Kubernetes in a documentazione ufficiale (ma non-spiegabile 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 stu articulu 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è v2.0.1 22 di maghju 2020 - Pruvatu per a cumpatibilità cù Kubernetes 1.18.

2. Lente

Panoramica di GUI per Kubernetes

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:

  • Applicazione autonoma chì ùn hà micca bisognu di stallazione di nunda in u cluster (più precisamente, Prometheus serà dumandatu à ottene tutte e metriche, ma una stallazione esistente pò ancu esse aduprata per questu). L'installazione "principale" hè fatta nantu à un urdinatore persunale cù 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 - 3.5.0 datatu u 16 di ghjugnu 2020 Originariamente creatu da Kontena, oghje tutta a pruprietà intellettuale hè stata trasferita à una urganizazione speciale. Lakeland Labs, 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

Panoramica di GUI per Kubernetes

Questa hè una applicazione proprietaria chì hè stallata nantu à un urdinatore persunale (Linux, macOS, Windows sò supportati). I so autori prumettenu un rimpiazzamentu cumpletu di l'utilità di linea di cumanda, è cun ellu - ùn hè micca bisognu di ricurdà i cumandamenti è ancu un aumentu di deci volte in a velocità.

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

  • situ;
  • Presentazione;
  • repository (~ 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".

Panoramica di GUI per Kubernetes

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 à Polariscirca chì noi digià scrittu.)
  • In più di u puntu precedente, a rilevazione di cuntenituri potenzialmente periculosi hè dispunibule, i.e. avè troppu privilegii (attributi hostPID, hostNetwork, hostIPC, muntagna docker.sock ecc).
  • 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 (v0.5 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

  • Pagina di prughjettu;
  • Licenza: pruprietariu (diventà Open Source);
  • In breve: "Un cliente multipiattaforma simplice per Kubernetes".

Panoramica di GUI 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 Elettron (Linux, macOS è Windows supportati) è richiede kubectl v1.14.0 o più tardi.

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 1.1.0 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

Panoramica di GUI per Kubernetes

Malgradu u fattu chì sta interfaccia web face parte di a distribuzione OpenShift (hè installata quì usendu operatore speciale), autori previstu 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 - ghjugna 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 operatorhub.
  • Gestisce e custruzzioni chì passanu attraversu Docker (da un repositoriu specificatu cù un Dockerfile), S2I o utilità esterne arbitrarie.

NB: Ùn avemu micca aghjustatu altri à u paragone Distribuzioni Kubernetes (per esempiu, u assai menu cunnisciutu Kubesfera): 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

  • situ;
  • repository (~ 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 esce 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

  • situ;
  • Licenza: pruprietariu;
  • In breve: "Visual Kubernetes Editor".

Panoramica di GUI per Kubernetes

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 apertura "in qualchì modu") è a mancanza di supportu Linux (finu à avà solu versioni per Windows è macOS sò dispunibuli, ancu s'ellu hè ancu assai prubabilmente solu questione di tempu).

3.k9s

  • situ;
  • Dimostrazione;
  • repository (~ 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".

Panoramica di GUI per Kubernetes

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 parechje applicazioni populari. Dunque, l'apparizione di strumenti visuali apprupriati chì permettenu di gestisce u ciclu di vita di i charts hè abbastanza logica.

4.1. Monocular

  • repository (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 ".

Panoramica di GUI per Kubernetes

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

  • situ;
  • Presentazione;
  • repository (~ 2100 stelle GitHub);
  • Licenza: Apache 2.0
  • In breve: "U vostru dashboard di l'applicazione per Kubernetes".

Panoramica di GUI 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:

Panoramica di GUI per Kubernetes
(Versione in linea di a tavula dispunibule nantu à Google Docs.)

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 kvaps per i dati nantu à a Console OpenShift per a tabella di paragone!

Leghjite puru nant'à u nostru blog:

Source: www.habr.com

Add a comment