{"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\/nl\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","title":{"rendered":"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Opmerking vertaler.<\/b>: Auteur van het originele materiaal \u2014 Henning Jacobs van Zalando. Hij heeft een nieuwe webinterface ontwikkeld voor het werken met Kubernetes, dat wordt gepositioneerd als 'kubectl voor het web'. Waarom dit nieuwe Open Source-project is ontstaan en welke criteria niet werden vervuld door de bestaande oplossingen \u2014 lees het in zijn artikel.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/82abbfbfaeb30adb000b749cc97809e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn deze publicatie bespreek ik verschillende open source webinterfaces voor Kubernetes, formuleer ik mijn vereisten voor een universele UI en vertel ik waarom ik het heb ontwikkeld. <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex> \u2014 een interface die is ontworpen om de ondersteuning en probleemoplossing in meerdere clusters te vergemakkelijken.<\/p>\n<h2>Gebruikscenarios<\/h2>\n<p>\nBij Zalando bedienen we een groot aantal Kubernetes-gebruikers (900+) en clusters (100+). Er zijn een paar typische gebruiksscenario's waarin de hulp van een gespecialiseerde webtool zeer handig zou zijn:<\/p>\n<ol>\n<li> communicatie met collega's binnen de ondersteuning;<\/li>\n<li> reageren op incidenten en het onderzoeken van hun oorzaken.<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Ondersteuning<\/h3>\n<p>\nUit mijn ervaring lijkt communicatie binnen de ondersteuning vaak het volgende:<\/p>\n<p><i>\u2014 Help, onze service XYZ is niet beschikbaar!<br \/>\n\u2014 Wat zie je wanneer je <code>kubectl describe ingress ...<\/code>?<\/i><\/p>\n<p>Of iets soortgelijks voor CRD:<\/p>\n<p><i>\u2014 Ik heb een probleem met de identificatieservice...<br \/>\n\u2014 Wat geeft het commando <code>kubectl describe platformcredentialsset ...<\/code>?<\/i><\/p>\n<p>Deze communicatie komt meestal neer op het invoeren van verschillende variaties van het commando <code>kubectl<\/code> om het probleem vast te stellen. Als gevolg hiervan moeten beide partijen zich voortdurend tussen de terminal en de webchat verplaatsen, en zien ze een verschillende situatie.<\/p>\n<p>Daarom willen we dat de webfrontend voor Kubernetes het volgende mogelijk maakt:<\/p>\n<ul>\n<li> gebruikers zouden <b>links kunnen delen<\/b> en hetzelfde zouden kunnen zien;<\/li>\n<li> het zou helpen <b>menselijke fouten<\/b> in de ondersteuning te vermijden: bijvoorbeeld het inloggen op de verkeerde cluster in de commandoregel, typfouten in CLI-commando's, enz.;<\/li>\n<li> het zou mogelijk maken <b>eigen weergaven te genereren<\/b> om naar collega's te sturen, dat wil zeggen kolommen met labels toe te voegen, meerdere soorten middelen op \u00e9\u00e9n pagina weer te geven;<\/li>\n<li> ideaal gezien zou dit webinstrument het mogelijk moeten maken om <b>\"diepe\" links naar specifieke secties van YAML te plaatsen<\/b> (bijvoorbeeld te wijzen op een onjuist parameter dat foutmeldingen veroorzaakt).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Reageren op incidenten en analyse<\/h3>\n<p>\nIncident response in infrastructure requires situational awareness, the ability to assess impact, and pattern finding in clusters. Here are some real-life examples:<\/p>\n<ul>\n<li> a critical production service is experiencing issues, and you need to <b>find all Kubernetes resources by name in all clusters<\/b>, to troubleshoot;<\/li>\n<li> nodes begin to fail when scaling, and you need to <b>alle pods met de status \u00abPending\u00bb in alle clusters vinden<\/b>, to assess the scope of the problem;<\/li>\n<li> individual users report an issue with a DaemonSet deployed across all clusters, and you need to determine <b>whether the problem is widespread.<\/b>.<\/li>\n<\/ul>\n<p>\nMy standard solution in such cases is something like <code>for i in $clusters; do kubectl ...; done<\/code>. Clearly, an tool can be developed that provides similar capabilities.<\/p>\n<h2>Existing web interfaces for Kubernetes<\/h2>\n<p>\nThe Open Source world of web interfaces for Kubernetes is not very large*, so I tried to gather additional information through <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\/status\/1153543128365850625\">Twitter<\/a><\/noindex>:<\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/75c26a70ec886700db2a81b57d672538.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>* My explanation for the limited number of web interfaces for Kubernetes: cloud services and Kubernetes vendors usually offer their own frontends, making the market for 'good' free Kubernetes UIs relatively small.<\/i><\/p>\n<p>Through a tweet, I learned about <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> en <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\">Octant<\/a><\/noindex>. Let's take a look at them and other existing Open Source solutions to understand what they are.<\/p>\n<h2>K8Dash<\/h2>\n<p>\n<i>\"K8Dash is the simplest way to manage a Kubernetes cluster.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor 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> it looks decent and feels fast, but has several shortcomings for the scenarios mentioned above:<\/p>\n<ul>\n<li> It only works within a single cluster.<\/li>\n<li> Sorting and filtering are possible but do not have persistent links.<\/li>\n<li> No support for Custom Resource Definitions (CRDs).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernator<\/h2>\n<p>\n<i>\"Kubernator is an alternative UI for Kubernetes. Unlike the high-level Kubernetes Dashboard, it offers low-level control and an excellent overview of all objects in the cluster with the ability to create new ones, edit them, and resolve conflicts. Being a fully client-side application (like kubectl), it does not require a backend other than the Kubernetes API server and takes cluster access rules into account.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/230115c88206d57443067a5b44ee9f31.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThis is a fairly accurate description of <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernetes<\/a><\/noindex>Unfortunately, it lacks some capabilities:<\/p>\n<ul>\n<li> It only serves a single cluster.<\/li>\n<li> Er is geen lijstweergavemodus (d.w.z. het is niet mogelijk om alle pods met de status \u00abPending\u00bb weer te geven).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Dashboard<\/h2>\n<p>\n<i>\u201eKubernetes Dashboard is een veelzijdige webinterface voor Kubernetes-clusters. Het stelt gebruikers in staat om applicaties die in het cluster draaien te beheren en problemen op te lossen, evenals het cluster zelf te beheren.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/10b37d00ed4c6cbb05a0eb9069a4371f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHelaas, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/dashboard\">Kubernetes Dashboard<\/a><\/noindex> helpt niet echt bij mijn ondersteunings- en incidentresponsactiviteiten, omdat het:<\/p>\n<ul>\n<li> geen permanente links heeft, bijvoorbeeld wanneer ik bronnen filter of de sorteer volgorde wijzig;<\/li>\n<li> er is geen gemakkelijke manier om te filteren op status \u2014 bijvoorbeeld om alle pods met de status \u00abPending\u00bb te zien;<\/li>\n<li> slechts \u00e9\u00e9n cluster ondersteunt;<\/li>\n<li> CRD's worden niet ondersteund (deze functie is in ontwikkeling);<\/li>\n<li> geen aangepaste kolommen ondersteunt (bijvoorbeeld kolommen met labels zoals <code>kubectl -L<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Operational View (kube-ops-view)<\/h2>\n<p>\n<i>\u201eEen systeempaneel voor het observeren van cluster ruimtes van K8s.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/0d63fcce4d54fbf5b40b15ad195e8ba7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEr <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">Kubernetes Operational View<\/a><\/noindex> een totaal andere benadering: deze tool toont alleen cluster nodes en pods met behulp van WebGL, zonder enige tekstuele details van de objecten. Het is uitstekend voor een snelle controle van de status van het cluster (\u00abvallen de pods?\u00bb)*, maar niet geschikt voor de hierboven beschreven gebruikscases in ondersteuning en incidentrespons.<\/p>\n<p><i>* <b>Opmerking vertaler.<\/b>: In dit opzicht ben je misschien ook ge\u00efnteresseerd in onze plugin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/grafana-statusmap\">grafana-statusmap<\/a><\/noindex>, waarover we in meer detail hebben gesproken in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/423851\/\">dit artikel<\/a><\/noindex>.<\/i><\/p>\n<h2>Kubernetes Resource Report (kube-resource-report)<\/h2>\n<p>\n<i>\u00abVerzamelen van gegevens over aanvragen voor de bronnen van pods en Kubernetes-cluster, deze vergelijken met resourceverbruik en statische HTML genereren\u00bb.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor 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\/\">Kubernetes Resource Report<\/a><\/noindex> genereert statische HTML-rapporten over resourcegebruik en kostenverdeling per teams\/applicaties in clusters. Het rapport is in zekere zin nuttig voor ondersteuning en incidentrespons, omdat het makkelijker maakt om het cluster te vinden waar de applicatie is ingezet.<\/p>\n<p><i><b>Opmerking vertaler.<\/b>: De weergave van informatie over resourceverdeling en de kosten ervan kan ook een nuttige service en tool zijn van cloudproviders. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubecost.com\/\">Kubecost<\/a><\/noindex>, waarvan we <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/466659\/\">recentelijk hebben gepubliceerd<\/a><\/noindex>.<\/i><\/p>\n<h2>Octant<\/h2>\n<p>\n<i>\u201eEen uitbreidbaar webplatform voor ontwikkelaars dat is ontworpen om een beter inzicht in de complexiteit van Kubernetes-clusters te bieden.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor 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>, gemaakt in VMware, is een nieuw product waarvan ik pas relatief recent heb gehoord. Het stelt je in staat om eenvoudig een cluster op een lokale machine te verkennen (er zijn zelfs visualisaties), maar het raakt het probleem van ondersteuning en incidentrespons slechts in beperkte mate aan. Nadelen van Octant:<\/p>\n<ul>\n<li> Geen zoekfunctie voor clusters.<\/li>\n<li> Werkt alleen op een lokale machine (niet ge\u00efmplementeerd in een cluster).<\/li>\n<li> Het is niet mogelijk om objecten te sorteren\/filteren (alleen labelselectoren worden ondersteund).<\/li>\n<li> Aangepaste kolommen kunnen niet worden ingesteld.<\/li>\n<li> Kan geen lijst van objecten per namespaces weergeven.<\/li>\n<\/ul>\n<p>\nDaarnaast had ik problemen met de stabiliteit van Octant met Zalando-clusters: bij sommige CRD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\/issues\/72\">viel hij uit.<\/a><\/noindex>.<\/p>\n<h2>Ik stel Kubernetes Web View voor.<\/h2>\n<p>\n<i>\u2018kubectl voor het web\u2019.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/e7b0eb0650de76516bbe05305b9dea9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa het analyseren van de beschikbare interface-opties voor Kubernetes, besloot ik een nieuwe te maken: <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex>. Ik heb eigenlijk alleen de volledige kracht nodig <code>kubectl<\/code> in de browser, namelijk:<\/p>\n<ul>\n<li> toegang tot alle (read-only) acties die gebruikers bij voorkeur met kubectl uitvoeren;<\/li>\n<li> alle URL's moeten permanent zijn en de pagina in originele vorm weergeven, zodat collega's deze kunnen delen en in andere tools kunnen gebruiken;<\/li>\n<li> ondersteuning voor alle Kubernetes-objecten, zodat problemen van elke soort kunnen worden opgelost;<\/li>\n<li> lijsten met middelen moeten downloadbaar zijn voor verdere verwerking (in spreadsheets, CLI-tools zoals <code>grep<\/code>) en opslag (bijvoorbeeld voor postmortems);<\/li>\n<li> ondersteuning voor het filteren van middelen op labels (vergelijkbaar met <code>kubectl get .. -l<\/code>);<\/li>\n<li> de mogelijkheid om gecombineerde lijsten van verschillende soorten middelen te maken (vergelijkbaar met <code>kubectl get all<\/code>) om een algemeen operationeel beeld onder collega's te krijgen (bijvoorbeeld bij het reageren op een incident);<\/li>\n<li> de mogelijkheid om configureerbare \u2018slimme\u2019 dieplinks naar andere tools toe te voegen, zoals dashboards, loggers, applicatieregisters, enz., om het zoeken\/oplossen van problemen en het reageren op incidenten te vergemakkelijken;<\/li>\n<li> de frontend moet zo eenvoudig mogelijk zijn (schone HTML) om toevallige problemen te vermijden, zoals vastlopende JavaScript;<\/li>\n<li> ondersteuning voor meerdere clusters om de interactie tijdens externe consultaties te vergemakkelijken (bijvoorbeeld door slechts \u00e9\u00e9n URL te onthouden);<\/li>\n<li> indien mogelijk moet de situationele analyse worden vereenvoudigd (bijvoorbeeld met links voor het downloaden van middelen over alle clusters\/namespaces);<\/li>\n<li> extra mogelijkheden voor het maken van flexibele links en het markeren van tekstinformatie, bijvoorbeeld om collega\u2019s naar een bepaald gedeelte in de beschrijving van de bron te verwijzen (een regel in YAML);<\/li>\n<li> de mogelijkheid om aan te passen aan de eisen van specifieke klanten, bijvoorbeeld door speciale weergavesjablonen voor CRD te maken, eigen tabelweergaven aan te passen, CSS-stijlen te wijzigen;<\/li>\n<li> middelen voor verder onderzoek in de commandoregel (bijvoorbeeld volledige commando's weergeven, <code>kubectl<\/code>, gereed om te kopi\u00ebren);<\/li>\n<\/ul>\n<p>\nBuiten de in Kubernetes Web View opgeloste taken <i>(non-goals)<\/i> blijven over:<\/p>\n<ul>\n<li> abstractie van Kubernetes-objecten;<\/li>\n<li> applicatiebeheer (bijvoorbeeld beheer van deployments, Helm charts, enz.);<\/li>\n<li> schrijfbewerkingen (moeten worden uitgevoerd via veilige CI\/CD-tools en\/of GitOps);<\/li>\n<li> een aantrekkelijke interface (JavaScript, thema's, etc.);<\/li>\n<li> visualisaties (zie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">kube-ops-view<\/a><\/noindex>);<\/li>\n<li> kostenanalyse (zie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-resource-report\/\">kube-resource-report<\/a><\/noindex>).<\/li>\n<\/ul>\n<p>\nHoe helpt Kubernetes Web View bij het ondersteunen en reageren op incidenten?<\/p>\n<h3>Ondersteuning<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Alle links zijn permanent,<\/b>, wat het delen van informatie met collega's vergemakkelijkt.<\/li>\n<li> Men kan <b>eigen weergaven cre\u00ebren,<\/b>, bijvoorbeeld alle Deployments en Pods met een bepaalde label in twee specifieke clusters weergeven (meerdere cluster namen en resource types kunnen in de link worden opgegeven, gescheiden door komma's).<\/li>\n<li> Men kan verwijzen naar <b>bepaalde regels in het YAML-bestand<\/b> van het object, wat wijst op mogelijke problemen in de objectspecificatie.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/9e0b3ab31181f8d93323c413d9185888.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Zoeken in clusters in Kubernetes Web View<\/i><\/p>\n<h3>Reageren op incidenten<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Globale zoekfunctie<\/b> <i>(global search)<\/i> maakt het mogelijk om objecten in alle clusters te doorzoeken.<\/li>\n<li> <b>Lijstweergaven<\/b> kunnen alle objecten met een bepaalde status\/kolom in alle clusters weergeven (bijvoorbeeld, we moeten alle pods met de status \u00abPending\u00bb vinden).<\/li>\n<li> <b>Objectlijsten kunnen worden gedownload<\/b> in tab-gescheiden waarden (TSV) voor verdere analyse.<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/en\/latest\/customization.html#external-links\">Aanpasbare externe links<\/a><\/noindex> maakt het schakelen naar de betreffende dashboards en andere tools mogelijk.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Aankondiging van de Kubernetes Web View webinterface (en een kort overzicht van andere web UI voor Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/ac275aa6b234988f40a2d0cde2ac4870.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kubernetes Web View: lijst van pods met de status \u00abPending\u00bb in alle clusters<\/i><\/p>\n<p>Als je Kubernetes Web View wilt uitproberen, raad ik aan om te kijken naar <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/\">de documentatie<\/a><\/noindex> of een live demo-versie te bekijken. <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.demo.j-serv.de\/\">live demo-versie<\/a><\/noindex>.<\/p>\n<p>Natuurlijk, de interface kan beter, maar voorlopig is Kubernetes Web View een hulpmiddel voor 'gevorderde gebruikers' die niet bang zijn om URL-paden handmatig te manipuleren indien nodig. Als u opmerkingen of suggesties heeft, neem dan alsjeblieft contact op <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\">met mij op Twitter<\/a><\/noindex>!<\/p>\n<p>Dit artikel is een korte schets van de achtergronden die hebben geleid tot de creatie van Kubernetes Web View. Er zullen meer volgen! <i>(<b>Opmerking vertaler.<\/b>: Deze worden verwacht in <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/\">de blog van de auteur<\/a><\/noindex>.)<\/i><\/p>\n<h2>P.S. van de vertaler<\/h2>\n<p>\nLees ook op onze blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox en andere console shells voor Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Tools voor ontwikkelaars van applicaties die in Kubernetes draaien<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/news\/t\/467433\/\">Er is een consoletool kubelive verschenen voor interactieve werk met Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/330198\/\">Nuttige hulpprogramma's bij het werken met Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Aankondiging van de Kubernetes Web View interface (en een kort overzicht van andere web UI voor Kubernetes) | ProHoster","description":"N.B. vert.: De auteur van het oorspronkelijke materiaal is Henning Jacobs van Zalando. Hij heeft een nieuwe webinterface ontwikkeld voor het werken met Kubernetes, die gepositioneerd is als 'kubectl voor het web'.","canonical_url":"https:\/\/prohoster.info\/nl\/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":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/38369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=38369"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/38369\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/28800"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=38369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=38369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=38369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}