{"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\/de\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","title":{"rendered":"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Anmerkung des \u00dcbersetzers.<\/b>: Der Autor des Originalmaterials ist Henning Jacobs von Zalando. Er hat eine neue Web-Oberfl\u00e4che f\u00fcr die Arbeit mit Kubernetes erstellt, die als \u201ekubectl f\u00fcr das Web\u201c positioniert wird. Warum das neue Open Source-Projekt entstanden ist und welche Kriterien die bestehenden L\u00f6sungen nicht erf\u00fcllten, lesen Sie in seinem Artikel.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/82abbfbfaeb30adb000b749cc97809e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn dieser Ver\u00f6ffentlichung betrachte ich verschiedene Open Source-Weboberfl\u00e4chen f\u00fcr Kubernetes, formuliere meine Anforderungen an eine universelle Benutzeroberfl\u00e4che und erkl\u00e4re, warum ich <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex> \u2014 eine Schnittstelle, die darauf abzielt, die Unterst\u00fctzung und Fehlersuche in mehreren Clustern zu erleichtern.<\/p>\n<h2>Anwendungsf\u00e4lle<\/h2>\n<p>\nBei Zalando bedienen wir eine gro\u00dfe Anzahl von Kubernetes-Nutzern (\u00fcber 900) und Clustern (\u00fcber 100). Es gibt einige typische Anwendungsf\u00e4lle, in denen ein spezielles Web-Tool sehr hilfreich w\u00e4re:<\/p>\n<ol>\n<li> Kommunikation mit Kollegen im Support;<\/li>\n<li> Reaktion auf Vorf\u00e4lle und Untersuchung ihrer Ursachen.<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Support<\/h3>\n<p>\nNach meiner Erfahrung sieht die Kommunikation im Support h\u00e4ufig folgenderma\u00dfen aus:<\/p>\n<p><i>\u2014 Helfen Sie, unser Dienst XYZ ist nicht erreichbar!<br \/>\n\u2014 Was sehen Sie, wenn Sie <code>kubectl describe ingress ...<\/code>?<\/i><\/p>\n<p>oder etwas \u00c4hnliches f\u00fcr CRDs ausf\u00fchren:<\/p>\n<p><i>\u2014 Ich habe ein Problem mit dem Identifizierungsdienst...<br \/>\n\u2014 Was gibt das Kommando <code>kubectl describe platformcredentialsset ...<\/code>?<\/i><\/p>\n<p>Diese Kommunikation reduziert sich normalerweise auf die Eingabe verschiedener Variationen des Befehls <code>kubectl<\/code> um das Problem festzustellen. Infolgedessen m\u00fcssen beide Gespr\u00e4chspartner st\u00e4ndig zwischen Terminal und Web-Chat wechseln, zudem sehen sie unterschiedliche Situationen.<\/p>\n<p>Daher w\u00e4re es w\u00fcnschenswert, dass das Web-Frontend zu Kubernetes Folgendes erm\u00f6glicht:<\/p>\n<ul>\n<li> Nutzer k\u00f6nnten <b>Links austauschen<\/b> und dasselbe beobachten;<\/li>\n<li> es w\u00fcrde helfen, <b>menschliche Fehler<\/b> im Support zu vermeiden: zum Beispiel, das falsche Cluster im Terminal anzuw\u00e4hlen, Tippfehler in CLI-Befehlen usw.;<\/li>\n<li> es w\u00fcrde erm\u00f6glichen, <b>eigene Ansichten zu generieren,<\/b> um sie mit Kollegen zu teilen, also zus\u00e4tzliche Spalten f\u00fcr Labels hinzuzuf\u00fcgen und mehrere Ressourcentypen auf einer Seite darzustellen;<\/li>\n<li> im Idealfall sollte dieses Web-Tool es erm\u00f6glichen, <b>\u201etiefe\u201c Links zu spezifischen YAML-Bereichen zu setzen<\/b> (zum Beispiel auf einen fehlerhaften Parameter, der Abst\u00fcrze verursacht).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Reaktion auf Vorf\u00e4lle und Analyse<\/h3>\n<p>\nDie Reaktion auf Vorf\u00e4lle in der Infrastruktur erfordert situative Wahrnehmung, die F\u00e4higkeit, Auswirkungen zu bewerten, und die Suche nach Mustern in Clustern. Einige Beispiele aus der Praxis:<\/p>\n<ul>\n<li> f\u00fcr einen kritischen Produktionsdienst treten Probleme auf und Sie m\u00fcssen <b>alle Kubernetes-Ressourcen nach Namen in allen Clustern finden<\/b>, um St\u00f6rungen zu beheben;<\/li>\n<li> Knoten beginnen beim Skalieren auszufallen, und Sie m\u00fcssen <b>Alle Pods mit dem Status \u201ePending\u201c in allen Clustern finden<\/b>, um das Ausma\u00df des Problems abzusch\u00e4tzen;<\/li>\n<li> Einzelne Benutzer berichten von Problemen mit einem DaemonSet, das in allen Clustern bereitgestellt ist, und es muss gekl\u00e4rt werden, <b>ob das Problem von allgemeiner Natur ist.<\/b>.<\/li>\n<\/ul>\n<p>\nMeine Standardl\u00f6sung in solchen F\u00e4llen ist etwas in der Art von <code>for i in $clusters; do kubectl ...; done.<\/code>Offensichtlich kann ein Werkzeug entwickelt werden, das \u00e4hnliche M\u00f6glichkeiten bietet.<\/p>\n<h2>Die bestehenden Web-Oberfl\u00e4chen f\u00fcr Kubernetes<\/h2>\n<p>\nDie Open Source-Welt der Web-Oberfl\u00e4chen f\u00fcr Kubernetes ist nicht besonders gro\u00df*, daher habe ich versucht, zus\u00e4tzliche Informationen zu sammeln mithilfe von <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\/status\/1153543128365850625\">Twitter<\/a><\/noindex>:<\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/75c26a70ec886700db2a81b57d672538.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>* Meine Erkl\u00e4rung f\u00fcr die begrenzte Anzahl von Web-Oberfl\u00e4chen f\u00fcr Kubernetes: Cloud-Dienste und Kubernetes-Anbieter bieten in der Regel eigene Frontends an, daher ist der Markt f\u00fcr \"gute\" kostenlose Kubernetes UI relativ klein.<\/i><\/p>\n<p>Durch einen Tweet habe ich von <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> und <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\">Octant<\/a><\/noindex>erfahren. Lassen Sie uns einen Blick darauf werfen und andere bestehende Open Source-L\u00f6sungen erkunden, um zu verstehen, was sie bieten.<\/p>\n<h2>K8Dash<\/h2>\n<p>\n<i>\"K8Dash ist der einfachste Weg, ein Kubernetes-Cluster zu verwalten.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr 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> Sieht gut aus und f\u00fchlt sich schnell an, hat aber einige Nachteile f\u00fcr die oben genannten Anwendungsf\u00e4lle:<\/p>\n<ul>\n<li> Funktioniert nur innerhalb eines Clusters.<\/li>\n<li> Sortierung und Filterung sind m\u00f6glich, aber haben keine dauerhaften Links.<\/li>\n<li> Es fehlt die Unterst\u00fctzung f\u00fcr Custom Resource Definitions (CRDs).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernator<\/h2>\n<p>\n<i>\"Kubernator ist eine alternative UI f\u00fcr Kubernetes. Im Gegensatz zum hochgradig abstrahierten Kubernetes Dashboard bietet es eine detaillierte Kontrolle und einen ausgezeichneten \u00dcberblick \u00fcber alle Objekte im Cluster mit der M\u00f6glichkeit, neue zu erstellen, sie zu bearbeiten und Konflikte zu l\u00f6sen. Als rein clientseitige Anwendung (wie kubectl) ben\u00f6tigt es keine Backend-Dienste au\u00dfer dem API-Server von Kubernetes und ber\u00fccksichtigt dabei die Zugriffsregeln f\u00fcr das Cluster.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/230115c88206d57443067a5b44ee9f31.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas ist eine ziemlich treffende Beschreibung <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernetes<\/a><\/noindex>Leider fehlt ihm einige Funktionen:<\/p>\n<ul>\n<li> Betreut nur einen Cluster.<\/li>\n<li> Es gibt keinen Listenansichtsmodus (d. h. man kann nicht alle Pods mit dem Status \u201ePending\u201c anzeigen).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Dashboard<\/h2>\n<p>\n<i>\u201eDas Kubernetes Dashboard ist eine universelle Weboberfl\u00e4che f\u00fcr Kubernetes-Cluster. Es erm\u00f6glicht Benutzern, Anwendungen, die im Cluster laufen, zu verwalten und Probleme zu beheben sowie das Cluster selbst zu verwalten.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/10b37d00ed4c6cbb05a0eb9069a4371f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLeider, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/dashboard\">Kubernetes Dashboard<\/a><\/noindex> hilft nicht besonders bei meinen Aktivit\u00e4ten zur Unterst\u00fctzung und Reaktion auf Vorf\u00e4lle, da es:<\/p>\n<ul>\n<li> keine permanenten Links gibt, zum Beispiel wenn ich Ressourcen filtere oder die Sortierreihenfolge \u00e4ndere;<\/li>\n<li> es gibt keinen einfachen Weg, nach dem Status zu filtern \u2013 zum Beispiel, um alle Pods mit dem Status \u201ePending\u201c zu sehen;<\/li>\n<li> nur ein Cluster unterst\u00fctzt wird;<\/li>\n<li> CRDs werden nicht unterst\u00fctzt (diese Funktion ist in Entwicklung);<\/li>\n<li> es gibt keine benutzerdefinierten Spalten (zum Beispiel Spalten mit Labels wie <code>kubectl -L<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Operational View (kube-ops-view)<\/h2>\n<p>\n<i>\u201eEin Systemmonitor f\u00fcr Kubernetes-Cluster-R\u00e4ume.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/0d63fcce4d54fbf5b40b15ad195e8ba7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">Kubernetes Operational View<\/a><\/noindex> ein v\u00f6llig anderer Ansatz: Dieses Tool zeigt nur die Clusterknoten und Pods mit WebGL an, ohne detaillierte Textinformationen zu den Objekten. Es eignet sich hervorragend f\u00fcr eine schnelle \u00dcbersicht \u00fcber den Zustand des Clusters (z. B. \u201efallen Pods?\u201c), ist jedoch nicht f\u00fcr die oben genannten Anwendungsf\u00e4lle in der Unterst\u00fctzung und bei Vorf\u00e4llen geeignet.<\/p>\n<p><i>* <b>Anmerkung des \u00dcbersetzers.<\/b>: In diesem Sinne k\u00f6nnte Sie auch unser Plugin interessieren <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/grafana-statusmap\">grafana-statusmap<\/a><\/noindex>, \u00fcber das wir ausf\u00fchrlicher in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/423851\/\">diesem Artikel<\/a><\/noindex>.<\/i><\/p>\n<h2>Kubernetes Resource Report (kube-resource-report)<\/h2>\n<p>\n<i>\u201eSammeln Sie Informationen \u00fcber die Ressourcennachfragen von Pods und dem Kubernetes-Cluster, vergleichen Sie diese mit dem Ressourcenverbrauch und generieren Sie statisches HTML.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr 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> generiert statische HTML-Berichte \u00fcber den Ressourcenverbrauch und die Kostenverteilung auf Teams\/Anwendungen in Clustern. Der Bericht ist in gewissem Ma\u00dfe n\u00fctzlich f\u00fcr die Unterst\u00fctzung und Reaktion auf Vorf\u00e4lle, da er es erleichtert, den Cluster zu finden, in dem eine Anwendung bereitgestellt wurde.<\/p>\n<p><i><b>Anmerkung des \u00dcbersetzers.<\/b>: Bei der Ansicht von Informationen zur Ressourcenverteilung und deren Kosten bei Cloud-Anbietern kann auch der Dienst und das Werkzeug <noindex><a rel=\"nofollow\" href=\"https:\/\/kubecost.com\/\">Kubecost<\/a><\/noindex>, dessen \u00dcberblick wir <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/466659\/\">k\u00fcrzlich ver\u00f6ffentlicht haben<\/a><\/noindex>.<\/i><\/p>\n<h2>Octant<\/h2>\n<p>\n<i>\u201eEine erweiterbare Webplattform f\u00fcr Entwickler, die ein besseres Verst\u00e4ndnis der Komplexit\u00e4t von Kubernetes-Clustern bieten soll.\u201c<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr 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>, erstellt in VMware, ist ein neues Produkt, von dem ich erst k\u00fcrzlich erfahren habe. Damit l\u00e4sst sich der Cluster auf einem lokalen Rechner bequem untersuchen (es gibt sogar Visualisierungen), jedoch behandelt es das Thema Unterst\u00fctzung und Reaktion auf Vorf\u00e4lle nur in begrenztem Ma\u00dfe. Nachteile von Octant:<\/p>\n<ul>\n<li> Keine Suche in Clustern.<\/li>\n<li> Funktioniert nur auf dem lokalen Rechner (nicht im Cluster bereitstellbar).<\/li>\n<li> Objekte k\u00f6nnen nicht sortiert\/filtert werden (nur Label-Selector wird unterst\u00fctzt).<\/li>\n<li> Benutzerdefinierte Spalten k\u00f6nnen nicht festgelegt werden.<\/li>\n<li> Objektelisten k\u00f6nnen nicht nach Namensr\u00e4umen ausgegeben werden.<\/li>\n<\/ul>\n<p>\nIch hatte auch Probleme mit der Stabilit\u00e4t von Octant mit Zalando-Clustern: bei bestimmten CRD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\/issues\/72\">ist es abgest\u00fcrzt.<\/a><\/noindex>.<\/p>\n<h2>Ich pr\u00e4sentiere Kubernetes Web View<\/h2>\n<p>\n<i>\u201ekubectl f\u00fcr das Web\u201c.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/e7b0eb0650de76516bbe05305b9dea9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNachdem ich die verf\u00fcgbaren Benutzeroberfl\u00e4chen f\u00fcr Kubernetes analysiert habe, entschied ich mich, eine neue zu erstellen: <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex>. Denn im Grunde ben\u00f6tige ich nur die gesamte Macht <code>kubectl<\/code> im Web, und zwar:<\/p>\n<ul>\n<li> Zug\u00e4nglichkeit aller (read-only) Operationen, bei denen Benutzer kubectl bevorzugen;<\/li>\n<li> alle URLs m\u00fcssen dauerhaft sein und die Seite im Original darstellen, damit Kollegen sie austauschen und in anderen Tools verwenden k\u00f6nnen;<\/li>\n<li> Unterst\u00fctzung aller Kubernetes-Objekte, um Probleme jeglicher Art zu l\u00f6sen;<\/li>\n<li> Ressourcenlisten m\u00fcssen herunterladbar sein f\u00fcr die weitere Bearbeitung (in Tabellenkalkulationen, CLI-Tools wie <code>grep<\/code>) und Speicherung (z. B. f\u00fcr Postmortems);<\/li>\n<li> Unterst\u00fctzung f\u00fcr die Filterung von Ressourcen anhand von Labels (analog zu <code>kubectl get .. -l<\/code>);<\/li>\n<li> die M\u00f6glichkeit, kombinierte Listen verschiedener Ressourcentypen zu erstellen (analog zu <code>kubectl get all<\/code>) um ein gesamtes Betriebsgeschehen unter Kollegen darzustellen (zum Beispiel im Rahmen der Reaktion auf Vorf\u00e4lle);<\/li>\n<li> die M\u00f6glichkeit, anpassbare \u201eintelligente\u201c Deep-Links zu anderen Tools hinzuzuf\u00fcgen, wie Dashboards, Logger, Anwendungsregistries usw. zur Erleichterung der Fehlersuche und Reaktion auf Vorf\u00e4lle;<\/li>\n<li> das Frontend sollte so einfach wie m\u00f6glich sein (reines HTML), um zuf\u00e4llige Probleme, wie h\u00e4ngenden JavaScript, zu vermeiden;<\/li>\n<li> Unterst\u00fctzung mehrerer Cluster zur Erleichterung der Interaktion bei Remote-Beratung (zum Beispiel, um sich nur eine URL merken zu m\u00fcssen);<\/li>\n<li> sofern m\u00f6glich sollte die situative Analyse vereinfacht werden (zum Beispiel durch Links zum Herunterladen von Ressourcen \u00fcber alle Cluster\/Namensr\u00e4ume);<\/li>\n<li> zus\u00e4tzliche M\u00f6glichkeiten zur Erstellung flexibler Links und zur Hervorhebung von Textinformationen, zum Beispiel um Kollegen auf einen bestimmten Abschnitt in der Beschreibung einer Ressource (eine Zeile im YAML) hinzuweisen;<\/li>\n<li> die M\u00f6glichkeit, sich an die Anforderungen eines bestimmten Kunden anzupassen, beispielsweise durch die Erstellung spezieller Anzeigevorlagen f\u00fcr CRD, eigene Tabellenansichten und die Anpassung von CSS-Stilen;<\/li>\n<li> Werkzeuge f\u00fcr eine weitergehende Untersuchung in der Befehlszeile (zum Beispiel durch vollst\u00e4ndige Befehle <code>kubectl<\/code>, die bereit zum Kopieren sind);<\/li>\n<\/ul>\n<p>\nAu\u00dfer den in Kubernetes Web View zu behandelnden Aufgaben <i>(nicht Ziele)<\/i> bleiben:<\/p>\n<ul>\n<li> Abstraktion von Kubernetes-Objekten;<\/li>\n<li> Anwendungsmanagement (z. B. Verwaltung von Deployments, Helm-Charts usw.);<\/li>\n<li> Schreiboperationen (sollten \u00fcber sichere CI\/CD- und\/oder GitOps-Werkzeuge durchgef\u00fchrt werden);<\/li>\n<li> eine ansprechende Benutzeroberfl\u00e4che (JavaScript, Themes usw.);<\/li>\n<li> Visualisierungen (siehe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">kube-ops-view<\/a><\/noindex>);<\/li>\n<li> Kostenanalyse (siehe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-resource-report\/\">kube-resource-report<\/a><\/noindex>).<\/li>\n<\/ul>\n<p>\nWie hilft Kubernetes Web View bei der Unterst\u00fctzung und Reaktion auf Vorf\u00e4lle?<\/p>\n<h3>Support<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Alle Links sind dauerhaft<\/b>, was den Informationsaustausch mit Kollegen erleichtert.<\/li>\n<li> Es ist m\u00f6glich, <b>eigene Ansichten zu erstellen<\/b>, zum Beispiel, um alle Deployments und Pods mit einem bestimmten Label in zwei spezifischen Clustern anzuzeigen (mehrere Cluster- und Ressourcentypnamen k\u00f6nnen in dem Link angegeben werden, getrennt durch Kommas).<\/li>\n<li> Man kann auf <b>bestimmte Zeilen in der YAML-Datei<\/b> des Objekts verweisen, um potenzielle Probleme in der Objektdefinition zu kennzeichnen.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/9e0b3ab31181f8d93323c413d9185888.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Suche in Clustern in Kubernetes Web View<\/i><\/p>\n<h3>Reaktion auf Vorf\u00e4lle<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Globale Suche<\/b> <i>(global search)<\/i> erm\u00f6glicht das Suchen von Objekten in allen Clustern.<\/li>\n<li> <b>Listenansichten<\/b> k\u00f6nnen alle Objekte mit einem bestimmten Status\/Spalte in allen Clustern anzeigen (z. B. m\u00fcssen wir alle Pods mit dem Status \u201ePending\u201c finden).<\/li>\n<li> <b>Objektlisten k\u00f6nnen heruntergeladen werden<\/b> im Tabulator-getrennten Format (TSV) zur weiteren Analyse.<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/en\/latest\/customization.html#external-links\">Konfigurierbare externe Links<\/a><\/noindex> erm\u00f6glichen den Wechsel zu entsprechenden Dashboards und anderen Werkzeugen.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Ank\u00fcndigung der Kubernetes Web View Benutzeroberfl\u00e4che (und kurzer \u00dcberblick \u00fcber andere Web-UIs f\u00fcr Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/ac275aa6b234988f40a2d0cde2ac4870.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kubernetes-Webansicht: Liste der Pods mit dem Status \u201ePending\u201c in allen Clustern<\/i><\/p>\n<p>Wenn Sie Kubernetes Web View ausprobieren m\u00f6chten, empfehle ich, sich die <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/\">Dokumentation<\/a><\/noindex> oder die <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.demo.j-serv.de\/\">Live-Demo anzusehen.<\/a><\/noindex>.<\/p>\n<p>Nat\u00fcrlich k\u00f6nnte die Benutzeroberfl\u00e4che besser sein, aber vorerst ist die Kubernetes-Webansicht ein Werkzeug f\u00fcr \"fortgeschrittene Nutzer\", die es nicht scheuen, die URL-Pfade manuell zu manipulieren, wenn n\u00f6tig. Wenn Sie Anmerkungen\/Erg\u00e4nzungen\/W\u00fcnsche haben, kontaktieren Sie bitte <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\">mich auf Twitter<\/a><\/noindex>!<\/p>\n<p>Dieser Artikel ist eine kurze Erz\u00e4hlung \u00fcber die Voraussetzungen, die zur Schaffung der Kubernetes-Webansicht gef\u00fchrt haben. Weitere werden folgen! <i>(<b>Anmerkung des \u00dcbersetzers.<\/b>: Diese sind zu erwarten im <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/\">Blog des Autors<\/a><\/noindex>.)<\/i><\/p>\n<h2>P.S. vom \u00dcbersetzer<\/h2>\n<p>\nLesen Sie auch in unserem Blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox und andere Konsolenoberfl\u00e4chen f\u00fcr Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Entwicklungstools f\u00fcr Anwendungen, die in Kubernetes ausgef\u00fchrt werden<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/news\/t\/467433\/\">Ein neues Konsolenwerkzeug namens kubelive f\u00fcr die interaktive Arbeit mit Kubernetes ist erschienen<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/330198\/\">N\u00fctzliche Dienstprogramme bei der Arbeit mit Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Quelle: <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.2 - 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\/de\/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.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Ank\u00fcndigung der Kubernetes-Weboberfl\u00e4che (und eine kurze \u00dcbersicht \u00fcber andere Web-UI f\u00fcr Kubernetes) | ProHoster","description":"Hinweis des \u00dcbersetzers: Der Autor des Originals ist Henning Jacobs von Zalando. Er hat eine neue Weboberfl\u00e4che f\u00fcr die Arbeit mit Kubernetes erstellt, die als \"kubectl f\u00fcr das Web\" positioniert ist.","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/38369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38369"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38369\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/28800"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}