{"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 breve panoramica di altre interfacce web per Kubernetes)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Nota del traduttore.<\/b>: L'autore del materiale originale \u00e8 Henning Jacobs di Zalando. Ha creato una nuova interfaccia web per lavorare con Kubernetes, posizionata come \"kubectl per il web\". Perch\u00e9 \u00e8 nato questo nuovo progetto Open Source e quali criteri non soddisfacevano le soluzioni esistenti \u2014 leggi nel suo articolo.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/82abbfbfaeb30adb000b749cc97809e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn questa pubblicazione esamino diverse interfacce web Kubernetes open source, presento le mie richieste per un'interfaccia utente universale e spiego perch\u00e9 l'ho sviluppata <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex> \u2014 un'interfaccia progettata per semplificare il supporto e il troubleshooting in pi\u00f9 cluster simultaneamente.<\/p>\n<h2>Casi d'uso<\/h2>\n<p>\nIn Zalando gestiamo un grande numero di utenti Kubernetes (900+) e cluster (100+). Ci sono alcuni casi d'uso tipici in cui un'apposita risorsa web sarebbe estremamente utile:<\/p>\n<ol>\n<li> comunicazione tra colleghi nel supporto;<\/li>\n<li> rispondere a incidenti e indagare 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 cos\u00ec:<\/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 Cosa restituisce il comando <code>kubectl describe platformcredentialsset ...<\/code>?<\/i><\/p>\n<p>Di solito, questa comunicazione si riduce all'inserimento di varie variazioni del comando <code>kubectl<\/code> per identificare il problema. Di conseguenza, entrambe le parti della conversazione sono costrette a passare continuamente tra il terminale e la chat web, e osservano situazioni diverse.<\/p>\n<p>Pertanto, vorrei che il frontend web per Kubernetes consentisse quanto segue:<\/p>\n<ul>\n<li> gli utenti potessero <b>scambiare link<\/b> e vedere la stessa cosa;<\/li>\n<li> faciliti <b>l'evitare errori umani<\/b> nel supporto: ad esempio, accedere al cluster sbagliato nel terminale, errori di battitura nei comandi CLI, ecc.;<\/li>\n<li> consentirebbe <b>di generare visualizzazioni personalizzate<\/b> da inviare ai colleghi, cio\u00e8 aggiungere colonne di etichette, visualizzare pi\u00f9 tipi di risorse su una pagina;<\/li>\n<li> idealmente, questo strumento web dovrebbe permettere di impostare <b>link \"profondi\" a sezioni specifiche di YAML<\/b> (ad esempio, puntando a un parametro errato che causa errori).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Gestione degli incidenti e analisi<\/h3>\n<p>\nLa reazione agli incidenti nell'infrastruttura richiede consapevolezza situazionale, capacit\u00e0 di valutare l'impatto e ricerca di schemi nei cluster. Ecco alcuni esempi nella vita reale:<\/p>\n<ul>\n<li> un servizio di produzione critico presenta problemi e devi <b>trovare tutte le risorse Kubernetes per nome in tutti i cluster<\/b>, per risolvere i problemi;<\/li>\n<li> i nodi iniziano a cadere durante la scalabilit\u00e0 e devi <b>trova tutti i pod con stato \u00abPending\u00bb in tutti i cluster<\/b>, per valutare l'entit\u00e0 del problema;<\/li>\n<li> utenti specifici segnalano un problema con il DaemonSet distribuito in tutti i cluster e deve essere chiarito <b>se 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>. Ovviamente, \u00e8 possibile sviluppare uno strumento che fornisca funzionalit\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 vasto*, 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 breve panoramica di altre interfacce web per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/75c26a70ec886700db2a81b57d672538.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>* La mia spiegazione sul numero limitato di interfacce web per Kubernetes: i servizi cloud e i fornitori di Kubernetes offrono spesso i propri frontend, rendendo il mercato delle interfacce Kubernetes 'buone' relativamente piccolo.<\/i><\/p>\n<p>Ho scoperto attraverso un tweet <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>. Esaminiamo questo e altre soluzioni Open Source esistenti e cerchiamo di 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 breve panoramica di altre interfacce web 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 buono e funziona rapidamente, ma ha diversi svantaggi per gli scenari d'uso sopra elencati:<\/p>\n<ul>\n<li> Funziona solo all'interno di un singolo cluster.<\/li>\n<li> Ordinamento e filtraggio sono possibili, ma non hanno link 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 del pannello ad alto livello di Kubernetes Dashboard, offre un controllo a basso livello e una panoramica eccellente di tutti gli oggetti nel cluster, con la possibilit\u00e0 di creare nuovi oggetti, modificarli e risolvere conflitti. Essendo un'applicazione completamente client (come kubectl), non richiede alcun backend oltre al 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 breve panoramica di altre interfacce web per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/230115c88206d57443067a5b44ee9f31.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 una descrizione piuttosto precisa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernet<\/a><\/noindex>Purtroppo, manca di alcune funzionalit\u00e0:<\/p>\n<ul>\n<li> Gestisce solo un cluster.<\/li>\n<li> Non \u00e8 disponibile la modalit\u00e0 di visualizzazione elenco (ad es. 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>\u00abKubernetes Dashboard \u00e8 un'interfaccia web universale per i cluster Kubernetes. Permette agli utenti di gestire le applicazioni che vengono eseguite nel cluster e di risolvere i problemi, oltre a gestire il cluster stesso.\u00bb<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/10b37d00ed4c6cbb05a0eb9069a4371f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSfortunatamente, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/dashboard\">Kubernetes Dashboard<\/a><\/noindex> non aiuta particolarmente nelle mie attivit\u00e0 di supporto e risposta agli incidenti, perch\u00e9 presenta:<\/p>\n<ul>\n<li> nessun link permanente, per esempio, quando filtro le risorse o cambio l'ordine di ordinamento;<\/li>\n<li> non c'\u00e8 un modo semplice per filtrare per stato \u2014 ad esempio, vedere tutti i pod con stato \u00abPending\u00bb;<\/li>\n<li> \u00e8 supportato solo un cluster;<\/li>\n<li> non sono supportati i CRD (questa funzione \u00e8 in fase di sviluppo);<\/li>\n<li> non ci sono colonne personalizzate (ad esempio, colonne con etichette di tipo <code>kubectl -L<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Visualizzazione Operativa di Kubernetes (kube-ops-view)<\/h2>\n<p>\n<i>\"Pannello di monitoraggio del cluster K8s\".<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web 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\">Visualizzazione Operativa di Kubernetes<\/a><\/noindex> un approccio completamente diverso: questo strumento mostra solo i nodi del cluster e i pod tramite WebGL, senza alcun dettaglio testuale degli oggetti. \u00c8 ideale per una panoramica rapida dello stato del cluster (\u00abi pod stanno cadendo?\u00bb)*, ma non \u00e8 adatto per i casi d'uso descritti sopra nel supporto e nella risposta agli incidenti.<\/p>\n<p><i>* <b>Nota del traduttore.<\/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 in dettaglio in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/423851\/\">questo articolo<\/a><\/noindex>.<\/i><\/p>\n<h2>Rapporto sulle Risorse di Kubernetes (kube-resource-report)<\/h2>\n<p>\n<i>Raccogli informazioni sulle richieste di risorse dei pod e del cluster Kubernetes, confrontale con il consumo delle risorse e genera HTML statico.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web 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 sulle Risorse di Kubernetes<\/a><\/noindex> genera report HTML statici sull'uso delle risorse e sulla distribuzione dei costi tra team\/applicazioni nei cluster. Il rapporto \u00e8 utile in una certa misura per il supporto e la reazione agli incidenti, poich\u00e9 consente di individuare pi\u00f9 rapidamente il cluster in cui \u00e8 distribuita l'applicazione.<\/p>\n<p><i><b>Nota del traduttore.<\/b>: Nella visualizzazione delle informazioni sulla distribuzione delle risorse e sui loro costi, potrebbe rivelarsi utile anche un servizio e uno 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\/\">recentemente pubblicato<\/a><\/noindex>.<\/i><\/p>\n<h2>Octant<\/h2>\n<p>\n<i>\u00abPiattaforma web espandibile per sviluppatori, progettata per fornire una migliore comprensione della complessit\u00e0 dei cluster Kubernetes\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web 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 sentito parlare relativamente di recente. Con questo strumento \u00e8 comodo esaminare il cluster sulla macchina locale (ci sono anche visualizzazioni), tuttavia tratta la questione del supporto e della reazione agli incidenti solo in misura limitata. Difetti di Octant:<\/p>\n<ul>\n<li> Nessuna ricerca tra i cluster.<\/li>\n<li> Funziona solo sulla macchina locale (non viene distribuito nel cluster).<\/li>\n<li> Impossibile ordinare\/filtrare gli oggetti (supportato solo il selettore delle etichette).<\/li>\n<li> Impossibile impostare colonne personalizzate.<\/li>\n<li> Non \u00e8 possibile generare un elenco di oggetti per i namespace.<\/li>\n<\/ul>\n<p>\nHo anche riscontrato problemi di stabilit\u00e0 del funzionamento di Octant con i cluster Zalando: in alcune CRD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\/issues\/72\">\u00e8 andato in crash.<\/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 breve panoramica di altre interfacce web per Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/e7b0eb0650de76516bbe05305b9dea9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnalizzando le opzioni di interfaccia disponibili per Kubernetes, ho deciso di crearne una nuova: <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex>In fondo ho solo bisogno di tutta la potenza <code>kubectl<\/code> nel web, ovvero:<\/p>\n<ul>\n<li> disponibilit\u00e0 di tutte le operazioni (in sola lettura) in cui gli utenti preferiscono utilizzare kubectl;<\/li>\n<li> tutti gli URL devono essere permanenti e rappresentare la pagina in modo originale, affinch\u00e9 i colleghi possano condividerli e utilizzarli in altri strumenti;<\/li>\n<li> supporto per tutti gli oggetti Kubernetes, il che consentir\u00e0 di risolvere problemi di qualsiasi tipo;<\/li>\n<li> l'elenco delle risorse deve essere scaricabile per ulteriori utilizzi (in fogli di calcolo, strumenti CLI come <code>grep<\/code>) e archiviazione (ad esempio, per postmortem);<\/li>\n<li> supporto per la selezione delle risorse tramite etichette (simile a <code>kubectl get .. -l<\/code>);<\/li>\n<li> possibilit\u00e0 di creare elenchi combinati di diversi tipi di risorse (simile a <code>kubectl get all<\/code>) per ottenere una visione operativa complessiva tra i colleghi (ad esempio, durante la risposta a un incidente);<\/li>\n<li> possibilit\u00e0 di aggiungere link profondi \"intelligenti\" personalizzati ad altri strumenti, come pannelli di controllo, logger, registri delle applicazioni, ecc., per facilitare la ricerca, la risoluzione dei problemi e la risposta agli incidenti;<\/li>\n<li> il frontend deve essere il pi\u00f9 semplice possibile (HTML puro), per evitare problemi casuali, come JavaScript bloccato;<\/li>\n<li> supporto per pi\u00f9 cluster per semplificare l'interazione durante la consulenza remota (ad esempio, ricordando un solo URL);<\/li>\n<li> l'analisi situazionale dovrebbe essere semplificata quando possibile (ad esempio, con link per il download delle risorse in tutti i cluster\/spazi dei nomi);<\/li>\n<li> funzionalit\u00e0 aggiuntive per la creazione di link flessibili ed estrazione di informazioni testuali, ad esempio per poter segnalare ai colleghi una sezione specifica nella descrizione della risorsa (una riga in YAML);<\/li>\n<li> possibilit\u00e0 di personalizzazione in base alle esigenze del cliente, ad esempio consentendo la creazione di modelli di visualizzazione speciali per CRD, proprie viste tabellari, modificare gli stili CSS;<\/li>\n<li> strumenti per ulteriori esplorazioni nella riga di comando (ad esempio, mostrando comandi completi <code>kubectl<\/code>, pronti per il copia-incolla);<\/li>\n<\/ul>\n<p>\nFuori dal campo di applicazione di Kubernetes Web View <i>(non obiettivi)<\/i> rimasti:<\/p>\n<ul>\n<li> astrazione degli oggetti Kubernetes;<\/li>\n<li> gestione delle applicazioni (ad esempio, gestione dei deployment, chart Helm, ecc.);<\/li>\n<li> operazioni di scrittura (devono essere effettuate tramite strumenti sicuri CI\/CD e\/o GitOps);<\/li>\n<li> interfaccia accattivante (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 a supportare e rispondere agli incidenti?<\/p>\n<h3>Supporto<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Tutti i link sono permanenti<\/b>, facilitando 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 (\u00e8 possibile specificare pi\u00f9 nomi di cluster e tipi di risorse nel collegamento, separandoli con delle virgole).<\/li>\n<li> \u00c8 possibile fare riferimento a <b>determinate righe nel file YAML<\/b> dell'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 breve panoramica di altre interfacce web 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>Rispondere agli incidenti<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Ricerca globale<\/b> <i>(global search)<\/i> permette di cercare oggetti in tutti i cluster.<\/li>\n<li> <b>Visualizzazioni in forma di elenco<\/b> possono visualizzare tutti gli oggetti con uno stato\/colonna specifico 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 configurabili<\/a><\/noindex> consentono di passare ai relativi pannelli di monitoraggio e ad altri strumenti.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Annuncio dell&#039;interfaccia web Kubernetes Web View (e breve panoramica di altre interfacce web 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 vuoi 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 visionare <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 al momento Kubernetes Web View \u00e8 uno strumento per \"utenti esperti\" che non temono di manipolare manualmente gli URL se necessario. Se hai commenti\/aggiustamenti\/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 un breve racconto delle premesse che hanno portato alla creazione di Kubernetes Web View. Ne seguiranno altri! <i>(<b>Nota del traduttore.<\/b>: Da aspettarsi 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>\nLeggete 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 in esecuzione su Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/news\/t\/467433\/\">\u00c8 disponibile un'utilit\u00e0 da console chiamata kubelive per lavorare 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 4.9.10 - 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. \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,\" \/>\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) 4.9.10\" \/>\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. \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,\" \/>\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\udd47 Annuncio dell'interfaccia web Kubernetes Web View (e una breve panoramica di altre interfacce web UI per Kubernetes) | ProHoster","description":"Nota dell'autore: L'autore del materiale originale \u00e8 Henning Jacobs di 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 requisiti non sono stati soddisfatti dalle soluzioni esistenti - leggi nel suo articolo. In questa pubblicazione esamino diverse interfacce web Kubernetes open source.","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. \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,","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"},"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}]}}