{"id":38369,"date":"2019-10-31T22:23:18","date_gmt":"2019-10-31T19:23:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes\/"},"modified":"2019-10-31T22:23:18","modified_gmt":"2019-10-31T19:23:18","slug":"anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","title":{"rendered":"Annuncio dell'interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Nota di traduzione.<\/b>: L'autore del materiale originale \u00e8 Henning Jacobs della Zalando. Ha creato una nuova interfaccia web per lavorare con Kubernetes, che si presenta come \"kubectl per il web\". Perch\u00e9 \u00e8 nato questo nuovo progetto Open Source e quali criteri non soddisfacevano le soluzioni gi\u00e0 esistenti \u2014 leggi nel suo articolo.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/82abbfbfaeb30adb000b749cc97809e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn questa pubblicazione analizzo diverse interfacce web Kubernetes con codice sorgente aperto, presento le mie richieste per un UI universale e spiego perch\u00e9 ho sviluppato <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Servendo molteplici cluster Kubernetes di diverse dimensioni, siamo anche interessati alla possibilit\u00e0 di fornire ai clienti uno strumento per la visualizzazione. Nel scegliere l'interfaccia adeguata, per noi erano cruciali le seguenti caratteristiche:<\/a><\/noindex> \u2014 un'interfaccia pensata per semplificare il supporto e la risoluzione dei problemi contemporaneamente in pi\u00f9 cluster.<\/p>\n<h2>Casi d'uso<\/h2>\n<p>\nIn Zalando gestiamo un gran numero di utenti Kubernetes (oltre 900) e cluster (oltre 100). Ci sono un paio di casi d'uso tipici in cui sarebbe stata molto utile l'assistenza di uno strumento web specializzato:<\/p>\n<ol>\n<li> comunicazione con i colleghi nell'ambito del supporto;<\/li>\n<li> rispondere agli incidenti e investigare sulle loro cause.<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Supporto<\/h3>\n<p>\nDalla mia esperienza, la comunicazione nel supporto spesso appare nel seguente modo:<\/p>\n<p><i>\u2014 Aiuto, il nostro servizio XYZ non \u00e8 disponibile!<br \/>\n\u2014 Cosa vedi quando esegui <code>kubectl describe ingress ...<\/code>?<\/i><\/p>\n<p>O qualcosa di simile per CRD:<\/p>\n<p><i>\u2014 Ho un problema con il servizio di identificazione\u2026<br \/>\n\u2014 E cosa restituisce il comando <code>kubectl describe platformcredentialsset ...<\/code>?<\/i><\/p>\n<p>Questa comunicazione di solito si riduce all'immissione di diverse variazioni del comando <code>kubectl<\/code> per identificare il problema. Di conseguenza, entrambe le parti della conversazione sono costrette a continuare a passare tra terminale e chat web, e osservano situazioni diverse.<\/p>\n<p>Pertanto, sarebbe desiderabile che il frontend web di Kubernetes permettesse quanto segue:<\/p>\n<ul>\n<li> gli utenti potrebbero <b>scambiare collegamenti<\/b> e osservare la stessa cosa;<\/li>\n<li> aiuterebbe a <b>evitare errori umani<\/b> nel supporto: ad esempio, accesso al cluster sbagliato nel terminale, errori di battitura nei comandi CLI, e cos\u00ec via;<\/li>\n<li> permetterebbe di <b>generare visualizzazioni personalizzate<\/b> da inviare ai colleghi, ossia aggiungere colonne di etichette, visualizzare pi\u00f9 tipi di risorse su una pagina;<\/li>\n<li> in ideale questo strumento web dovrebbe consentire di creare <b>\"link profondi\" a sezioni specifiche di YAML<\/b> (ad esempio, indicare un parametro errato che provoca errori).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Rispondere agli incidenti e analizzare<\/h3>\n<p>\nLa risposta agli incidenti nell'infrastruttura richiede consapevolezza situazionale, capacit\u00e0 di valutare l'impatto e ricerca di schemi nei cluster. Alcuni esempi della vita reale:<\/p>\n<ul>\n<li> un servizio di produzione critico ha dei problemi e hai bisogno di <b>trovare tutte le risorse Kubernetes per nome in tutti i cluster<\/b>, per risolvere i guasti;<\/li>\n<li> i nodi iniziano a cadere durante il ridimensionamento e hai bisogno di <b>trovare tutti i pod con stato \u00abPending\u00bb in tutti i cluster<\/b>, per valutare l'estensione del problema;<\/li>\n<li> singoli utenti segnalano un problema con DaemonSet distribuito in tutti i cluster, e bisogna capire se <b>il problema \u00e8 di natura totale<\/b>.<\/li>\n<\/ul>\n<p>\nLa mia soluzione standard in questi casi \u00e8 qualcosa del tipo <code>for i in $clusters; do kubectl ...; done<\/code>. \u00c8 chiaro che si pu\u00f2 sviluppare uno strumento che offre capacit\u00e0 simili.<\/p>\n<h2>Le interfacce web esistenti di Kubernetes<\/h2>\n<p>\nIl mondo Open Source delle interfacce web per Kubernetes non \u00e8 molto ampio*, quindi ho provato a raccogliere ulteriori informazioni utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\/status\/1153543128365850625\">Twitter<\/a><\/noindex>:<\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/75c26a70ec886700db2a81b57d672538.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>* La mia spiegazione del numero limitato di interfacce web per Kubernetes: i servizi cloud e i fornitori di Kubernetes solitamente offrono i propri frontend, quindi il mercato per \u00abbuone\u00bb interfacce utente di Kubernetes \u00e8 relativamente limitato.<\/i><\/p>\n<p>Con un tweet ho scoperto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/herbrandson\/k8dash\">K8Dash<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernator<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\">Octant<\/a><\/noindex>. Diamo un'occhiata a loro e ad altre soluzioni Open Source esistenti, provando a capire cosa rappresentano.<\/p>\n<h2>K8Dash<\/h2>\n<p>\n<i>\u00abK8Dash \u00e8 il modo pi\u00f9 semplice per gestire un cluster Kubernetes\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/112e362486a294a1a39706fc32124889.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/herbrandson\/k8dash\">K8Dash<\/a><\/noindex> sembra funzionare bene ed \u00e8 reattivo, ma presenta alcuni difetti per gli scenari d'uso sopra menzionati:<\/p>\n<ul>\n<li> Funziona solo all'interno di un singolo cluster.<\/li>\n<li> Ordinamento e filtraggio sono possibili, ma non hanno riferimenti permanenti.<\/li>\n<li> Manca il supporto per le Custom Resource Definitions (CRDs).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernator<\/h2>\n<p>\n<i>\u00abKubernator \u00e8 un'interfaccia utente alternativa per Kubernetes. A differenza della dashboard di Kubernetes ad alto livello, fornisce un controllo a basso livello e una visione chiara di tutti gli oggetti nel cluster con la possibilit\u00e0 di crearne di nuovi, modificarli e risolvere conflitti. Essendo un'applicazione interamente client (come kubectl), non richiede alcun backend tranne il server API di Kubernetes e tiene conto delle regole di accesso al cluster\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/230115c88206d57443067a5b44ee9f31.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 una descrizione abbastanza accurata di <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernetes<\/a><\/noindex>. Purtroppo, gli mancano alcune funzionalit\u00e0:<\/p>\n<ul>\n<li> Supporta solo un cluster.<\/li>\n<li> Non c'\u00e8 una modalit\u00e0 di visualizzazione in forma di elenco (cio\u00e8 non \u00e8 possibile visualizzare tutti i pod con stato \u00abPending\u00bb).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Dashboard<\/h2>\n<p>\n<i>\"Kubernetes Dashboard \u00e8 un'interfaccia web universale per i cluster Kubernetes. Permette agli utenti di gestire le applicazioni in esecuzione nel cluster e di risolvere i problemi, oltre a gestire il cluster stesso.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/10b37d00ed4c6cbb05a0eb9069a4371f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPurtroppo, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/dashboard\">Kubernetes Dashboard<\/a><\/noindex> non \u00e8 particolarmente utile nelle mie attivit\u00e0 di supporto e risposta agli incidenti, perch\u00e9 in esso:<\/p>\n<ul>\n<li> non ci sono link permanenti, ad esempio quando filtro le risorse o cambio l'ordinamento;<\/li>\n<li> non esiste un modo semplice per filtrare per stato \u2014 ad esempio, vedere tutti i pod con stato \u00abPending\u00bb;<\/li>\n<li> supporta solo un cluster;<\/li>\n<li> non supporta CRD (questa funzione \u00e8 in fase di sviluppo);<\/li>\n<li> non ci sono colonne personalizzate (ad esempio, colonne con etichette come <code>kubectl -L<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Operational View (kube-ops-view)<\/h2>\n<p>\n<i>\"Un pannello di monitoraggio per lo spazio dei cluster K8s.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/0d63fcce4d54fbf5b40b15ad195e8ba7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">Kubernetes Operational View<\/a><\/noindex> un approccio completamente diverso: questo strumento mostra solo i nodi del cluster e i pod utilizzando WebGL, senza dettagli testuali sugli oggetti. \u00c8 ottimo per una rapida panoramica dello stato del cluster (\u00abi pod stanno cadendo?\u00bb)*, ma non \u00e8 adatto agli scenari sopra menzionati per il supporto e la risposta agli incidenti.<\/p>\n<p><i>* <b>Nota di traduzione.<\/b>: In questo senso, potrebbe interessarti anche il nostro plugin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/grafana-statusmap\">grafana-statusmap<\/a><\/noindex>, di cui abbiamo parlato pi\u00f9 nel dettaglio in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/423851\/\">questo articolo<\/a><\/noindex>.<\/i><\/p>\n<h2>Kubernetes Resource Report (kube-resource-report)<\/h2>\n<p>\n<i>\u00abRaccogli informazioni sulle richieste di risorse dei pod e del cluster Kubernetes, confrontale con il consumo di risorse e genera HTML statico\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/11e64094ca3fb317959ab03ec7c07e0d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-resource-report\/\">Rapporto Risorse Kubernetes<\/a><\/noindex> genera report HTML statici sull'uso delle risorse e sulla distribuzione dei costi per team\/applicazioni nei cluster. Il report \u00e8 in qualche modo utile per il supporto e la risposta agli incidenti, poich\u00e9 consente di individuare pi\u00f9 rapidamente il cluster in cui \u00e8 distribuita l'applicazione.<\/p>\n<p><i><b>Nota di traduzione.<\/b>: Nella visualizzazione delle informazioni sulla distribuzione delle risorse e sui costi, potrebbe risultare utile anche il servizio e lo strumento <noindex><a rel=\"nofollow\" href=\"https:\/\/kubecost.com\/\">Kubecost<\/a><\/noindex>, di cui abbiamo <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/466659\/\">pubblicato recentemente<\/a><\/noindex>.<\/i><\/p>\n<h2>Octant<\/h2>\n<p>\n<i>\"Una piattaforma web estensibile per gli sviluppatori, progettata per fornire una migliore comprensione della complessit\u00e0 dei cluster Kubernetes.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/0f949ec05a6b403e7093ee38648eb493.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\">Octant<\/a><\/noindex>, creato in VMware, \u00e8 un nuovo prodotto di cui ho scoperto relativamente di recente. Con esso \u00e8 comodo esplorare il cluster sulla macchina locale (ci sono anche delle visualizzazioni), tuttavia tocca il tema della gestione e risposta agli incidenti solo in misura limitata. Svantaggi di Octant:<\/p>\n<ul>\n<li> Non c'\u00e8 ricerca tra i cluster.<\/li>\n<li> Funziona solo sulla macchina locale (non si distribuisce nel cluster).<\/li>\n<li> Non \u00e8 possibile ordinare\/filtrare gli oggetti (\u00e8 supportato solo il selettore delle etichette).<\/li>\n<li> Non si possono definire colonne personalizzate.<\/li>\n<li> Non \u00e8 possibile visualizzare l'elenco degli oggetti per namespace.<\/li>\n<\/ul>\n<p>\nHo anche avuto problemi con la stabilit\u00e0 di Octant con i cluster Zalando: in alcuni CRD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\/issues\/72\">si \u00e8 bloccato.<\/a><\/noindex>.<\/p>\n<h2>Presento Kubernetes Web View<\/h2>\n<p>\n<i>\u00abkubectl per il web\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/e7b0eb0650de76516bbe05305b9dea9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDopo aver analizzato le opzioni disponibili per le interfacce Kubernetes, ho deciso di crearne una nuova: <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Servendo molteplici cluster Kubernetes di diverse dimensioni, siamo anche interessati alla possibilit\u00e0 di fornire ai clienti uno strumento per la visualizzazione. Nel scegliere l'interfaccia adeguata, per noi erano cruciali le seguenti caratteristiche:<\/a><\/noindex>. Infatti, in sostanza ho solo bisogno di tutta la potenza <code>kubectl<\/code> nel web, ossia:<\/p>\n<ul>\n<li> disponibilit\u00e0 di tutte le operazioni (sola lettura), in cui gli utenti preferiscono utilizzare kubectl;<\/li>\n<li> tutti gli URL devono essere permanenti e rappresentare la pagina nell'aspetto originale, affinch\u00e9 i colleghi possano condividerli e utilizzarli in altri strumenti;<\/li>\n<li> supporto per tutti gli oggetti Kubernetes, che consentir\u00e0 di risolvere problemi di qualsiasi tipo;<\/li>\n<li> le liste delle risorse devono essere scaricabili per ulteriori elaborazioni (in fogli di calcolo, strumenti CLI come <code>grep<\/code>) e conservazione (ad esempio, per postmortem);<\/li>\n<li> supporto per la selezione delle risorse in base alle etichette (analogamente a <code>kubectl get .. -l<\/code>);<\/li>\n<li> possibilit\u00e0 di creare elenchi aggregati di diversi tipi di risorse (simile a <code>kubectl get all<\/code>) per avere un quadro operativo complessivo tra i colleghi (ad esempio, durante la risposta a un incidente);<\/li>\n<li> possibilit\u00e0 di aggiungere link profondi \u00abintelligenti\u00bb personalizzabili ad altri strumenti, come pannelli di monitoraggio, logger, registri delle applicazioni, ecc., per facilitare la ricerca\/riparazione e la risposta agli incidenti;<\/li>\n<li> il frontend deve essere il pi\u00f9 semplice possibile (HTML pulito), per evitare problemi accidentali, come un JavaScript bloccato;<\/li>\n<li> supporto per molti cluster per semplificare l'interazione durante la consulenza remota (ad esempio, per memorizzare solo un URL);<\/li>\n<li> se possibile, deve semplificarsi l'analisi situazionale (ad esempio, con link per scaricare risorse da tutti i cluster\/namespace);<\/li>\n<li> ulteriori funzionalit\u00e0 per la generazione di link flessibili e l'estrazione di informazioni testuali, ad esempio per consentire di indicare ai colleghi una sezione specifica nella descrizione della risorsa (una riga in YAML);<\/li>\n<li> possibilit\u00e0 di adattarsi alle esigenze specifiche del cliente, ad esempio permettendo di creare modelli personalizzati per CRD, le proprie visualizzazioni tabellari, modificare gli stili CSS;<\/li>\n<li> strumenti per ulteriori studi nella riga di comando (ad esempio, mostrando comandi completi <code>kubectl<\/code>, pronte per essere copiate);<\/li>\n<\/ul>\n<p>\nFuori dagli obiettivi affrontati da Kubernetes Web View <i>(non-obiettivi)<\/i> sono rimasti:<\/p>\n<ul>\n<li> astrazione degli oggetti Kubernetes;<\/li>\n<li> gestione delle applicazioni (ad esempio, gestione dei deployment, Helm charts, ecc.);<\/li>\n<li> operazioni di scrittura (devono essere effettuate tramite strumenti CI\/CD sicuri e\/o GitOps);<\/li>\n<li> interfaccia gradevole (JavaScript, temi, ecc.);<\/li>\n<li> visualizzazioni (vedi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">kube-ops-view<\/a><\/noindex>);<\/li>\n<li> analisi dei costi (vedi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-resource-report\/\">kube-resource-report<\/a><\/noindex>).<\/li>\n<\/ul>\n<p>\nCome Kubernetes Web View aiuta nel supporto e nella reazione agli incidenti?<\/p>\n<h3>Supporto<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Tutti i link sono permanenti<\/b>, il che facilita la condivisione delle informazioni con i colleghi.<\/li>\n<li> \u00c8 possibile creare <b>le proprie visualizzazioni<\/b>, ad esempio, visualizzare tutti i Deployment e i Pod con un'etichetta specifica in due cluster specifici (puoi specificare pi\u00f9 nomi di cluster e tipi di risorse nel link, separandoli con una virgola).<\/li>\n<li> Si possono fare riferimenti a <b>righe specifiche in un file YAML<\/b> di un oggetto, indicando potenziali problemi nella specifica dell'oggetto.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/9e0b3ab31181f8d93323c413d9185888.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ricerca nei cluster in Kubernetes Web View<\/i><\/p>\n<h3>Reazione agli incidenti<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Ricerca globale<\/b> <i>(ricerca globale)<\/i> permette di cercare oggetti in tutti i cluster.<\/li>\n<li> <b>Le visualizzazioni in forma di elenco<\/b> possono mostrare tutti gli oggetti con uno stato\/colonna specifici in tutti i cluster (ad esempio, dobbiamo trovare tutti i pod con stato \u00abPending\u00bb).<\/li>\n<li> <b>Le liste degli oggetti possono essere scaricate<\/b> in formato valori separati da tabulazione (TSV), per analisi successive.<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/en\/latest\/customization.html#external-links\">Link esterni personalizzabili<\/a><\/noindex> consentono di passare ai pannelli di monitoraggio e ad altri strumenti pertinenti.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e panoramica di altre interfacce web UI per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/ac275aa6b234988f40a2d0cde2ac4870.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kubernetes Web View: elenco dei pod con stato \u00abPending\u00bb in tutti i cluster<\/i><\/p>\n<p>Se desideri provare Kubernetes Web View, ti consiglio di dare un'occhiata a <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/\">documentazione<\/a><\/noindex> o di visualizzare <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.demo.j-serv.de\/\">una demo dal vivo<\/a><\/noindex>.<\/p>\n<p>Certo, l'interfaccia potrebbe essere migliore, ma attualmente Kubernetes Web View \u00e8 uno strumento per \"utenti esperti\" che non esitano a manipolare manualmente i percorsi URL, se necessario. Se hai commenti \/ aggiunte \/ suggerimenti, ti prego di contattarmi <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\">su Twitter<\/a><\/noindex>!<\/p>\n<p>Questo articolo \u00e8 una breve narrazione delle premesse che hanno portato alla creazione di Kubernetes Web View. Ne seguiranno altri! <i>(<b>Nota di traduzione.<\/b>: Ci si pu\u00f2 aspettare nel <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/\">blog dell'autore<\/a><\/noindex>.)<\/i><\/p>\n<h2>P.S. dal traduttore<\/h2>\n<p>\nLeggi anche nel nostro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox e altre interfacce a riga di comando per Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Strumenti per sviluppatori di applicazioni eseguite in Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/news\/t\/467433\/\">\u00c8 disponibile l'utilit\u00e0 da console kubelive per interagire in modo interattivo con Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/330198\/\">Utilit\u00e0 utili per lavorare con Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/468041\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u2014 Henning Jacobs \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abkubectl \u0434\u043b\u044f \u0432\u0435\u0431\u0430\u00bb. \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u043e\u0432\u044b\u0439 Open Source-\u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438 \u043a\u0430\u043a\u0438\u043c \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044f\u043c \u043d\u0435 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0438\u043b\u0438 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u2014 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u044c\u0435. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b Kubernetes \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28800,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u2014 Henning Jacobs \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abkubectl \u0434\u043b\u044f \u0432\u0435\u0431\u0430\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u043d\u043e\u043d\u0441 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 Kubernetes Web View (\u0438 \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0434\u0440\u0443\u0433\u0438\u0445 web UI \u0434\u043b\u044f Kubernetes) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u2014 Henning Jacobs \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abkubectl \u0434\u043b\u044f \u0432\u0435\u0431\u0430\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:23:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:23:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Annuncio dell'interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web UI per Kubernetes) | ProHoster","description":"Nota del traduttore: L'autore del materiale originale \u00e8 Henning Jacobs di Zalando. Ha creato una nuova interfaccia web per lavorare con Kubernetes, che si propone come \"kubectl per il web.\"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u043d\u043e\u043d\u0441 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 Kubernetes Web View (\u0438 \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0434\u0440\u0443\u0433\u0438\u0445 web UI \u0434\u043b\u044f Kubernetes) | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u2014 Henning Jacobs \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Zalando. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abkubectl \u0434\u043b\u044f \u0432\u0435\u0431\u0430\u00bb.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:23:18+00:00","article:modified_time":"2019-10-31T19:23:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38369","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 21:44:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:10:24","updated":"2026-01-23 21:44:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38369"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38369\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/28800"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}