{"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\/sv\/blog\/administrirovanie\/anons-veb-interfejsa-kubernetes-web-view-i-kratkij-obzor-drugih-web-ui-dlya-kubernetes","title":{"rendered":"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Obs. \u00f6vers.<\/b>: Den ursprungliga artikelf\u00f6rfattaren \u00e4r Henning Jacobs fr\u00e5n Zalando. Han har skapat ett nytt webbgr\u00e4nssnitt f\u00f6r att arbeta med Kubernetes, som marknadsf\u00f6rs som \"kubectl f\u00f6r webben\". L\u00e4s hans artikel f\u00f6r att ta reda p\u00e5 varf\u00f6r detta nya Open Source-projekt har dykt upp och vilka kriterier som inte uppfylldes av de befintliga l\u00f6sningarna.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/82abbfbfaeb30adb000b749cc97809e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI denna publikation behandlar jag olika webbgr\u00e4nssnitt f\u00f6r Kubernetes med \u00f6ppen k\u00e4llkod, presenterar mina krav p\u00e5 en universell UI och ber\u00e4ttar varf\u00f6r jag utvecklade <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex> \u2014 ett gr\u00e4nssnitt som syftar till att underl\u00e4tta st\u00f6d och fels\u00f6kning i flera kluster samtidigt.<\/p>\n<h2>Anv\u00e4ndningsscenarier<\/h2>\n<p>\nP\u00e5 Zalando betj\u00e4nar vi ett stort antal Kubernetes-anv\u00e4ndare (\u00f6ver 900) och kluster (\u00f6ver 100). Det finns ett par typiska anv\u00e4ndningsscenarier d\u00e4r en specialiserad webbverktyg skulle vara mycket anv\u00e4ndbar:<\/p>\n<ol>\n<li> kommunikation med kollegor inom supporten;<\/li>\n<li> reaktion p\u00e5 incidenter och utredning av deras orsaker.<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Support<\/h3>\n<p>\nEnligt min erfarenhet ser kommunikationen inom supporten ofta ut som f\u00f6ljer:<\/p>\n<p><i>\u2014 hj\u00e4lp, v\u00e5r tj\u00e4nst XYZ \u00e4r otillg\u00e4nglig!<br \/>\n\u2014 Vad ser du n\u00e4r du k\u00f6r <code>kubectl describe ingress ...<\/code>?<\/i><\/p>\n<p>Eller n\u00e5got liknande f\u00f6r CRD:<\/p>\n<p><i>\u2014 Jag har ett problem med identifieringstj\u00e4nsten...<br \/>\n\u2014 Vad ger kommandot <code>kubectl describe platformcredentialsset ...<\/code>?<\/i><\/p>\n<p>S\u00e5dan kommunikation handlar vanligtvis om att skriva in olika varianter av kommandot <code>kubectl<\/code> f\u00f6r att etablera problemet. Resultatet \u00e4r att b\u00e5da parter i samtalet st\u00e4ndigt m\u00e5ste v\u00e4xla mellan terminalen och webbchatten, och de ser olika situationer.<\/p>\n<p>D\u00e4rf\u00f6r \u00f6nskar jag att webbfronten f\u00f6r Kubernetes skulle m\u00f6jligg\u00f6ra f\u00f6ljande:<\/p>\n<ul>\n<li> anv\u00e4ndare skulle kunna <b>dela l\u00e4nkar<\/b> och se samma sak;<\/li>\n<li> hj\u00e4lpa till att <b>undvika m\u00e4nskliga misstag<\/b> i supporten: till exempel att logga in i fel kluster i kommandoraden, stavfel i CLI-kommandon osv.;<\/li>\n<li> skulle m\u00f6jligg\u00f6ra <b>att generera egna vyer<\/b> f\u00f6r att skicka till kollegor, det vill s\u00e4ga att l\u00e4gga till etikettkolumner, visa flera typer av resurser p\u00e5 en och samma sida;<\/li>\n<li> idealiskt b\u00f6r detta webbverktyg m\u00f6jligg\u00f6ra att s\u00e4tta <b>\"djupa\" l\u00e4nkar till specifika delar av YAML<\/b> (till exempel peka p\u00e5 en felaktig parameter som orsakar krascher).<\/li>\n<\/ul>\n<p><\/p>\n<h3>Reaktion p\u00e5 incidenter och analys<\/h3>\n<p>\nReagering p\u00e5 incidenter i infrastrukturen kr\u00e4ver situationsmedvetenhet, f\u00f6rm\u00e5ga att bed\u00f6ma p\u00e5verkan och leta efter m\u00f6nster i kluster. N\u00e5gra verkliga exempel:<\/p>\n<ul>\n<li> ett kritiskt produktionssystem har problem och du beh\u00f6ver <b>hitta alla Kubernetes-resurser efter namn i alla kluster<\/b>, f\u00f6r att \u00e5tg\u00e4rda problem;<\/li>\n<li> noder b\u00f6rjar falla vid skalning och du beh\u00f6ver <b>hitta alla poddar med status \"Pending\" i alla kluster<\/b>, f\u00f6r att bed\u00f6ma omfattningen av problemet;<\/li>\n<li> individuella anv\u00e4ndare rapporterar ett problem med DaemonSet som \u00e4r distribuerat i alla kluster och det beh\u00f6ver utredas, <b>om problemet \u00e4r omfattande<\/b>.<\/li>\n<\/ul>\n<p>\nMin standardl\u00f6sning i s\u00e5dana fall \u00e4r n\u00e5got i stil med <code>for i in $clusters; do kubectl ...; done<\/code>. Uppenbarligen kan ett verktyg utvecklas som erbjuder liknande m\u00f6jligheter.<\/p>\n<h2>Befintliga webbgr\u00e4nssnitt f\u00f6r Kubernetes<\/h2>\n<p>\n\u00d6ppen k\u00e4llkod-v\u00e4rlden av webbgr\u00e4nssnitt f\u00f6r Kubernetes \u00e4r inte s\u00e5 stor*, s\u00e5 jag f\u00f6rs\u00f6kte samla mer information med hj\u00e4lp av <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\/status\/1153543128365850625\">Twitter<\/a><\/noindex>:<\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/75c26a70ec886700db2a81b57d672538.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>* Min f\u00f6rklaring av det begr\u00e4nsade antalet webbgr\u00e4nssnitt f\u00f6r Kubernetes: Molntj\u00e4nster och Kubernetes-leverant\u00f6rer erbjuder ofta sina egna gr\u00e4nssnitt, s\u00e5 marknaden f\u00f6r \"bra\" gratis Kubernetes UI \u00e4r relativt liten.<\/i><\/p>\n<p>Genom en tweet fick jag veta om <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> och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\">Octant<\/a><\/noindex>. L\u00e5t oss titta p\u00e5 dem och andra befintliga Open Source-l\u00f6sningar, och f\u00f6rs\u00f6ka f\u00f6rst\u00e5 vad de handlar om.<\/p>\n<h2>K8Dash<\/h2>\n<p>\n<i>\"K8Dash \u00e4r det enklaste s\u00e4ttet att hantera ett Kubernetes-kluster.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r 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> ser bra ut och k\u00e4nns responsivt, men har flera nackdelar f\u00f6r de ovan n\u00e4mnda anv\u00e4ndningsscenarierna:<\/p>\n<ul>\n<li> Fungerar endast inom ett kluster.<\/li>\n<li> Sortering och filtrering \u00e4r m\u00f6jliga, men har inga permanenta l\u00e4nkar.<\/li>\n<li> Ingen st\u00f6d f\u00f6r Custom Resource Definitions (CRDs).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernator<\/h2>\n<p>\n<i>\"Kubernator \u00e4r ett alternativt UI f\u00f6r Kubernetes. Till skillnad fr\u00e5n det h\u00f6gkvalitativa gr\u00e4nssnittet Kubernetes Dashboard erbjuder den l\u00e5g niv\u00e5 kontroll och en utm\u00e4rkt \u00f6versikt \u00f6ver alla objekt i klustret med m\u00f6jlighet att skapa nya, redigera dem och l\u00f6sa konflikter. Som en helt klientapplikation (som kubectl) kr\u00e4ver den ingen backend f\u00f6rutom sj\u00e4lva Kubernetes API-servern och beaktar \u00e4ven \u00e5tkomstreglerna f\u00f6r klustret.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/230115c88206d57443067a5b44ee9f31.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetta \u00e4r en ganska exakt beskrivning av <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smpio\/kubernator\">Kubernetes<\/a><\/noindex>Tyv\u00e4rr saknar det vissa funktioner:<\/p>\n<ul>\n<li> Betj\u00e4nar endast ett kluster.<\/li>\n<li> Det finns inget listvyn (dvs. man kan inte visa alla poddar med status \"Pending\").<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Dashboard<\/h2>\n<p>\n<i>\u201eKubernetes Dashboard \u00e4r ett universellt webgr\u00e4nssnitt f\u00f6r Kubernetes-kluster. Det g\u00f6r det m\u00f6jligt f\u00f6r anv\u00e4ndare att hantera applikationer som k\u00f6rs i klustret och fels\u00f6ka dem, samt att hantera sj\u00e4lva klustret.\u201d<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/10b37d00ed4c6cbb05a0eb9069a4371f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTyv\u00e4rr, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/dashboard\">Kubernetes Dashboard<\/a><\/noindex> hj\u00e4lper det inte s\u00e4rskilt mycket i mina insatser f\u00f6r st\u00f6d och incidenthantering, eftersom det:<\/p>\n<ul>\n<li> inte har permanenta l\u00e4nkar, till exempel n\u00e4r jag filtrerar resurser eller \u00e4ndrar sorteringsordning;<\/li>\n<li> det finns inget enkelt s\u00e4tt att filtrera efter status \u2014 till exempel, f\u00f6r att se alla poddar med status \"Pending\";<\/li>\n<li> det st\u00f6der bara ett kluster;<\/li>\n<li> CRD st\u00f6ds inte (den funktionen \u00e4r under utveckling);<\/li>\n<li> det finns inga anpassade kolumner (till exempel kolumner med etiketter liknande <code>kubectl -L<\/code>).<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kubernetes Operational View (kube-ops-view)<\/h2>\n<p>\n<i>\u201e\u00d6versiktspanel f\u00f6r K8s-klusterutrymmen.\u201d<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/0d63fcce4d54fbf5b40b15ad195e8ba7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHos <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">Kubernetes Operational View<\/a><\/noindex> en helt annan metod: detta verktyg visar bara klusternoder och poddar med hj\u00e4lp av WebGL, utan n\u00e5gra textdetaljer om objekten. Det \u00e4r utm\u00e4rkt f\u00f6r en snabb \u00f6versikt av klustrets tillst\u00e5nd (\"faller poddar?\")*, men \u00e4r inte l\u00e4mpligt f\u00f6r de ovan beskrivna anv\u00e4ndningsfallen f\u00f6r support och incidentrespons.<\/p>\n<p><i>* <b>Obs. \u00f6vers.<\/b>: I detta avseende kan du ocks\u00e5 vara intresserad av v\u00e5r plugin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/grafana-statusmap\">grafana-statusmap<\/a><\/noindex>, som vi har ber\u00e4ttat mer om i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/423851\/\">denna artikel<\/a><\/noindex>.<\/i><\/p>\n<h2>Kubernetes Resource Report (kube-resource-report)<\/h2>\n<p>\n<i>\"Samla in resursf\u00f6rfr\u00e5gningsinformation f\u00f6r poddar och Kubernetes-kluster, j\u00e4mf\u00f6r dem med resursf\u00f6rbrukning och generera statisk HTML.\"<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r 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> genererar statiska HTML-rapporter om resursanv\u00e4ndning och kostnadsf\u00f6rdelning mellan team\/applikationer i kluster. Rapporten \u00e4r delvis anv\u00e4ndbar f\u00f6r st\u00f6d och incidenthantering eftersom den g\u00f6r det m\u00f6jligt att snabbare hitta det kluster d\u00e4r applikationen \u00e4r utplacerad.<\/p>\n<p><i><b>Obs. \u00f6vers.<\/b>: I \u00f6versikten av resursf\u00f6rdelning och dess kostnader kan \u00e4ven tj\u00e4nsten och verktyget <noindex><a rel=\"nofollow\" href=\"https:\/\/kubecost.com\/\">Kubecost<\/a><\/noindex>vara anv\u00e4ndbart, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/466659\/\">som vi<\/a><\/noindex>.<\/i><\/p>\n<h2>Octant<\/h2>\n<p>\n<i>nyligen publicerade en \u00f6versyn av, som \u00e4r en \u201eutvidgningsbar webbaserad plattform f\u00f6r utvecklare, avsedd att ge en b\u00e4ttre f\u00f6rst\u00e5else f\u00f6r komplexiteten i Kubernetes-kluster.\u201d<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r 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>, skapad i VMware, \u00e4r en ny produkt som jag har l\u00e4rt mig om relativt nyligen. Med hj\u00e4lp av den \u00e4r det enkelt att utforska klustret p\u00e5 den lokala maskinen (det finns till och med visualiseringar), men den ber\u00f6r problematiken kring st\u00f6d och incidenthantering endast i begr\u00e4nsad omfattning. Nackdelar med Octant:<\/p>\n<ul>\n<li> Ingen s\u00f6kning mellan kluster.<\/li>\n<li> Fungerar endast p\u00e5 lokala maskiner (kan inte distribueras i kluster).<\/li>\n<li> Det g\u00e5r inte att sortera\/filtera objekt (endast label-selector st\u00f6ds).<\/li>\n<li> Det g\u00e5r inte att definiera anpassade kolumner.<\/li>\n<li> Det g\u00e5r inte att lista objekt efter namnrymder.<\/li>\n<\/ul>\n<p>\nJag har ocks\u00e5 haft problem med stabiliteten i Octant med Zalando-kluster: p\u00e5 vissa CRD <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vmware\/octant\/issues\/72\">den kraschade<\/a><\/noindex>.<\/p>\n<h2>Jag presenterar Kubernetes Web View<\/h2>\n<p>\n<i>\u201dkubectl f\u00f6r webben\u201d.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/e7b0eb0650de76516bbe05305b9dea9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEfter att ha analyserat de tillg\u00e4ngliga gr\u00e4nssnitten f\u00f6r Kubernetes best\u00e4mde jag mig f\u00f6r att skapa ett nytt: <noindex><a rel=\"nofollow\" href=\"https:\/\/codeberg.org\/hjacobs\/kube-web-view\/\">Kubernetes Web View<\/a><\/noindex>. F\u00f6r i grunden beh\u00f6ver jag bara all kraft <code>kubectl<\/code> i webben, n\u00e4mligen:<\/p>\n<ul>\n<li> tillg\u00e4nglighet f\u00f6r alla (read-only) operationer som anv\u00e4ndare f\u00f6redrar att anv\u00e4nda kubectl f\u00f6r;<\/li>\n<li> alla URL:er b\u00f6r vara permanenta och representera sidan i sitt originalskick s\u00e5 att kollegor kan dela dem och anv\u00e4nda dem i andra verktyg;<\/li>\n<li> st\u00f6d f\u00f6r alla Kubernetes-objekt, vilket g\u00f6r det m\u00f6jligt att l\u00f6sa problem av alla typer;<\/li>\n<li> resurslistor ska vara nedladdningsbara f\u00f6r vidare arbete (i kalkylblad, CLI-verktyg som <code>grep<\/code>) och lagring (t.ex. f\u00f6r postmortems);<\/li>\n<li> st\u00f6d f\u00f6r resursurval baserat p\u00e5 labels (som med <code>kubectl get .. -l<\/code>);<\/li>\n<li> m\u00f6jlighet att skapa sammanst\u00e4llda listor \u00f6ver olika typer av resurser (som med <code>kubectl get all<\/code>) f\u00f6r att f\u00e5 en \u00f6vergripande operationell bild bland kollegor (till exempel under incidenthantering);<\/li>\n<li> m\u00f6jlighet att l\u00e4gga till anpassade \u201dintelligenta\u201d djup-l\u00e4nkar till andra verktyg som dashboards, loggverktyg, applikationsregister osv. f\u00f6r att underl\u00e4tta s\u00f6kning\/avhj\u00e4lpning och incidenthantering;<\/li>\n<li> frontend ska vara s\u00e5 enkel som m\u00f6jligt (ren HTML) f\u00f6r att undvika oavsiktliga problem, s\u00e5som h\u00e4ngande JavaScript;<\/li>\n<li> st\u00f6d f\u00f6r flera kluster f\u00f6r att f\u00f6renkla interaktionen vid fj\u00e4rrkonsultation (till exempel f\u00f6r att komma ih\u00e5g endast en URL);<\/li>\n<li> situationsanalysen b\u00f6r f\u00f6renklas om m\u00f6jligt (till exempel med l\u00e4nkar f\u00f6r nedladdning av resurser \u00f6ver alla kluster\/namnrymder);<\/li>\n<li> ytterligare funktioner f\u00f6r att skapa flexibla l\u00e4nkar och extrahera textinformation, till exempel f\u00f6r att kunna ange specifika avsnitt i resursbeskrivningen (rad i YAML);<\/li>\n<li> m\u00f6jlighet att anpassa efter specifika kundkrav, exempelvis genom att till\u00e5ta skapande av specialanpassade visningsmallar f\u00f6r CRD, egna tabellrepresentationer, \u00e4ndra CSS-stilar;<\/li>\n<li> verktyg f\u00f6r vidare studier i kommandoraden (till exempel genom att visa kompletta kommandon <code>kubectl<\/code>, redo f\u00f6r kopiering);<\/li>\n<\/ul>\n<p>\nUtanf\u00f6r de uppgifter som hanteras av Kubernetes Web View <i>(icke-m\u00e5l)<\/i> \u00e5terst\u00e5r:<\/p>\n<ul>\n<li> abstraktion av Kubernetes-objekt;<\/li>\n<li> applikationshantering (t.ex. hantering av deploymentar, Helm-diagram osv.);<\/li>\n<li> skrivoperationer (m\u00e5ste utf\u00f6ras via ett s\u00e4kert CI\/CD- och\/eller GitOps-verktyg);<\/li>\n<li> ett vackert gr\u00e4nssnitt (JavaScript, teman osv.);<\/li>\n<li> visualiseringar (se <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-ops-view\">kube-ops-view<\/a><\/noindex>);<\/li>\n<li> kostnadsanalys (se <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hjacobs\/kube-resource-report\/\">kube-resource-report<\/a><\/noindex>).<\/li>\n<\/ul>\n<p>\nHur hj\u00e4lper Kubernetes Web View till med incidenthantering och respons?<\/p>\n<h3>Support<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Alla l\u00e4nkar \u00e4r permanenta<\/b>, vilket underl\u00e4ttar informationsutbytet med kollegor.<\/li>\n<li> Det g\u00e5r att skapa <b>egna vyer<\/b>, till exempel visa alla deployments och poddar med en viss etikett i tv\u00e5 specifika kluster (flera klusternamn och resurstyper kan anges i l\u00e4nken, separerade med komman).<\/li>\n<li> Det g\u00e5r att referera till <b>specifika rader i YAML-filen<\/b> f\u00f6r objektet, vilket pekar p\u00e5 potentiella problem i objektets specifikation.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/9e0b3ab31181f8d93323c413d9185888.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>S\u00f6kning av kluster i Kubernetes Web View<\/i><\/p>\n<h3>Incidenthantering<\/h3>\n<p><\/p>\n<ul>\n<li> <b>Global s\u00f6kning<\/b> <i>(global search)<\/i> m\u00f6jligg\u00f6r s\u00f6kning av objekt i alla kluster.<\/li>\n<li> <b>Listvyer<\/b> kan visa alla objekt med ett visst tillst\u00e5nd\/kolumn i alla kluster (t.ex. vi beh\u00f6ver hitta alla poddar med status \"Pending\").<\/li>\n<li> <b>Objektslistor kan laddas ner<\/b> i tabulatoravgr\u00e4nsade v\u00e4rden (TSV) f\u00f6r vidare analys.<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/en\/latest\/customization.html#external-links\">Anpassningsbara externa l\u00e4nkar<\/a><\/noindex> m\u00f6jligg\u00f6r att v\u00e4xla till relevanta \u00f6vervakningspaneler och andra verktyg.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Tillk\u00e4nnagivande av Kubernetes Web View-webbgr\u00e4nssnittet (och en kort \u00f6versikt \u00f6ver andra web UI f\u00f6r Kubernetes)\" src=\"\/wp-content\/uploads\/2019\/09\/ac275aa6b234988f40a2d0cde2ac4870.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kubernetes Web View: lista \u00f6ver poddar med status \"Pending\" i alla kluster<\/i><\/p>\n<p>Om du vill prova Kubernetes Web View rekommenderar jag att du bekantar dig med <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.readthedocs.io\/\">dokumentationen<\/a><\/noindex> eller kollar p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/kube-web-view.demo.j-serv.de\/\">en live demoversion<\/a><\/noindex>.<\/p>\n<p>Sj\u00e4lvklart, gr\u00e4nssnittet skulle kunna vara b\u00e4ttre, och hittills \u00e4r Kubernetes Web View ett verktyg f\u00f6r \"erfarna anv\u00e4ndare\" som inte \u00e4r r\u00e4dda f\u00f6r att manipulera URL-v\u00e4gar manuellt om det beh\u00f6vs. Om du har n\u00e5gra \u00e5sikter\/kommentarer\/\u00f6nskem\u00e5l, v\u00e4nligen kontakta <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/try_except_\">mig p\u00e5 Twitter<\/a><\/noindex>!<\/p>\n<p>Denna artikel \u00e4r en kort ber\u00e4ttelse om de f\u00f6ruts\u00e4ttningar som ledde till skapandet av Kubernetes Web View. Fler artiklar f\u00f6ljer! <i>(<b>Obs. \u00f6vers.<\/b>: De b\u00f6r f\u00f6rv\u00e4ntas i <noindex><a rel=\"nofollow\" href=\"https:\/\/srcco.de\/\">bloggen f\u00f6r f\u00f6rfattaren<\/a><\/noindex>.)<\/i><\/p>\n<h2>P.S. Fr\u00e5n \u00f6vers\u00e4ttaren<\/h2>\n<p>\nL\u00e4s \u00e4ven i v\u00e5r blogg:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/426985\/\">kubebox och andra konsolskal f\u00f6r Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/462707\/\">Verktyg f\u00f6r utvecklare av applikationer som k\u00f6rs i Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/news\/t\/467433\/\">En konsolapplikation, kubelive, har dykt upp f\u00f6r interaktivt arbete med Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/330198\/\">Nyttiga verktyg f\u00f6r arbete med Kubernetes<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Tillk\u00e4nnagivande av Kubernetes Web View gr\u00e4nssnittet (och en kort \u00f6versyn av andra web UI f\u00f6r Kubernetes) | ProHoster","description":"Obs. \u00f6vers.: F\u00f6rfattaren av det ursprungliga materialet \u00e4r Henning Jacobs fr\u00e5n Zalando. Han har skapat ett nytt webgr\u00e4nssnitt f\u00f6r att arbeta med Kubernetes, som positioneras som \"kubectl f\u00f6r webben\".","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/38369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=38369"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/38369\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/28800"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=38369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=38369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=38369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}