Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Not. werger.: Nivîskarê materyalê orîjînal Henning Jacobs ji Zalando ye. Wî ji bo xebitandina Kubernetes, ku wekî "kubectl ji bo tevneyê" tête cîh kirin, navgînek webê ya nû afirand. Çima projeyek Çavkaniya Vekirî ya nû xuya bû û kîjan pîvan ji hêla çareseriyên heyî ve nehatin bicîh kirin - gotara wî bixwînin.

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Di vê postê de, ez cûrbecûr navbeynkarên webê yên çavkaniya vekirî ya Kubernetes dinirxînim, hewcedariyên xwe ji bo UI-ya gerdûnî radigihînim, û rave dikim ka çima min pêş xist. Kubernetes WebView - navgînek ku ji bo hêsankirina piştgirî û çareserkirina pir koman bi yekcarî hêsantir dike.

Scenariya bikaranîna

Li Zalando em ji hejmareke mezin ji bikarhênerên Kubernetes (900+) û koman (100+) re xizmetê dikin. Çend dozên karanîna gelemperî hene ku dê ji amûrek webê ya taybetî sûd werbigirin:

  1. danûstendina bi hevkarên xwe re ji bo piştgiriyê;
  2. bersivdana bûyeran û lêkolîna sedemên wan.

alîkarî

Di ezmûna min de, danûstendinên piştgirî bi gelemperî bi vî rengî xuya dikin:

- Alîkarî, karûbarê me XYZ ne berdest e!
- Dema hûn performansê dikin hûn çi dibînin kubectl describe ingress ...?

An jî tiştek mîna ji bo CRD:

— Di servîsa nasnamê de hin problemên min hene...
- Ferman çi çêdike? kubectl describe platformcredentialsset ...?

Têkiliya bi vî rengî bi gelemperî bi ketina cûrbecûr cûrbecûr fermanan tê kubectl ji bo tespîtkirina pirsgirêkê. Wekî encamek, her du aliyên danûstendinê neçar dibin ku bi domdarî di navbera termînalê û sohbeta webê de biguhezin, û her weha ew rewşek cûda temaşe dikin.

Ji ber vê yekê, ez dixwazim ku pêşiya malpera Kubernetes destûrê bide jêrîn:

  • bikarhêner dikarin pevguhertina girêdan û heman tiştî temaşe bikin;
  • dê alîkarî bike ji xeletiyên mirovan dûr bikevin di piştgirîyê de: mînakî, têketina komek xelet a li ser rêzika fermanê, xeletiyên tîpên di fermanên CLI de, hwd.;
  • dê destûrê bide nêrînên xwe biafirînin şandina ji hevkaran re, ango, stûnên nîşanan zêde bikin, gelek celeb çavkaniyan li ser yek rûpelê nîşan bidin;
  • Bi îdeal, divê ev amûra webê rê bide we ku hûn saz bikin Girêdanên "kûr" bi beşên taybetî yên YAML re (mînak, nîşankirina pîvanek xelet a ku dibe sedema têkçûnan).

Bersiva bûyerê û analîz

Bersiva bûyerên binesaziyê hewceyê hişmendiya rewşê, şiyana nirxandina bandorê, û lêgerîna nimûneyên di koman de ye. Hin mînakên jiyana rastîn:

  • Karûbarek hilberîna krîtîk pirsgirêk heye û hûn hewce ne di hemî koman de hemî çavkaniyên Kubernetes bi navê xwe bibîninto troubleshoot;
  • girêk dema ku pîvandin dest pê dikin dakevin û hûn hewce ne di hemî koman de hemî podên bi statûya "Li bendê" bibîninji bo nirxandina çarçoveya pirsgirêkê;
  • bikarhênerên takekesî pirsgirêkek bi DaemonSet-ê re ku li hemî koman hatî bicîh kirin rapor dikin û hewce ne ku fêhm bikin Pirsgirêk bi tevahî ye?.

Di rewşên weha de çareseriya min a standard tiştek wusa ye for i in $clusters; do kubectl ...; done. Eşkere ye ku meriv dikare amûrek ku kapasîteyên wekhev peyda dike pêş bixe.

Têkiliyên malperê yên Kubernetes hene

Cîhana çavkaniya vekirî ya navberên malperê yên Kubernetes ne pir mezin e *, ji ber vê yekê min hewl da ku ez bi karanîna bêtir agahdarî berhev bikim Twitter:

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

*Ravekirina min ji bo hejmarek sînorkirî ya navbeynkariyên malperê ji bo Kubernetes: karûbarên ewr û firoşkarên Kubernetes bi gelemperî pêşekên xwe pêşkêş dikin, ji ber vê yekê bazara ji bo Kubernetes UI ya belaş "baş" nisbeten piçûk e.

Bi tweetekê ez fêr bûm K8Dash, Kubernator и Octant. Ka em li wan û çareseriyên din ên Çavkaniya Vekirî ya heyî binêrin, em hewl bidin ku fêm bikin ka ew çi ne.

K8Dash

"K8Dash awayê herî hêsan e ku meriv komek Kubernetes birêve bibe."

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

K8Dash Baş xuya dike û xwe zû hîs dike, lê ji bo dozên karanîna ku li jor hatine destnîşan kirin hejmarek kêmasiyên xwe hene:

  • Tenê di nav sînorên yek komê de dixebite.
  • Rêzkirin û fîlterkirin mimkun e, lê girêdanên daîmî tune ne.
  • Ji bo Pênaseyên Çavkaniyên Xweser (CRD) piştgirî tune.

Kubernator

"Kubernator ji bo Kubernetes UI alternatîf e. Berevajî Dashboard-a-asta bilind a Kubernetes, ew di hemî tiştên di komê de bi şiyana afirandina yên nû, sererastkirina wan, û çareserkirina nakokiyan kontrolek nizm û dîtiniyek hêja peyda dike. Ji ber ku bi tevahî serîlêdanek ji hêla xerîdar ve ye (mîna kubectl), ew ji bilî servera Kubernetes API-ê bixwe pêvekek din hewce nake, û di heman demê de rêzikên gihîştina komê jî rêz digire.

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Ev ravekirinek pir rast e Kubernator. Mixabin, hin taybetmendiyên wê tune:

  • Tenê yek komê xizmetê dike.
  • Moda dîtina navnîşê tune (ango, hûn nekarin hemî podên bi statûya "Li benda" nîşan bidin).

Tabloya Kubernetes

"Kubernetes Dashboard ji bo komên Kubernetes navgînek tevnvîsê ya gerdûnî ye. Ew rê dide bikarhêneran ku serîlêdanên ku di komekê de dixebitin rêve bibin û pirsgirêkan çareser bikin, û hem jî komê bixwe jî birêve bibin."

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Mixabin, Tabloya Kubernetes bi rastî bi piştgirî û çalakiyên bersivdana bûyeran arîkariya min nake ji ber ku ew:

  • girêdanên daîmî tune ne, wek nimûne gava ku ez çavkaniyan fîlter dikim an rêza celebê diguherim;
  • rêyek hêsan tune ku meriv ji hêla statûyê ve were parzûn kirin - mînakî, hemî podên bi statûya "Li bendê" bibînin;
  • tenê yek kom tê piştgirî kirin;
  • CRD nayên piştgirî kirin (ev taybetmendî di pêşkeftinê de ye);
  • stûnên xwerû tune ne (wek stûnên ku ji hêla celebê ve hatine nîşankirin kubectl -L).

Dîtina Operasyona Kubernetes (kube-ops-view)

"Sîstema Dashboard Çavdêrê ji bo K8s Cluster Space."

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

У Dîtina Operasyona Kubernetes Nêzîkatiyek bi tevahî cûda: ev amûr tenê bi karanîna WebGL-ê, bêyî hûrguliyên tişta nivîsê, girêkên komê û pelan nîşan dide. Ew ji bo nihêrînek bilez a tenduristiya komê pir xweş e (gelo pel dikevin?)*, lê ew ji bo rewşên karanîna piştgirî û bersivdana bûyerê ku li jor hatine destnîşan kirin ne maqûl e.

* Not. werger.: Di vê wateyê de, dibe ku hûn pêveka me jî eleqedar bibin grafana-statusmap, ku me bi berfirehî li ser axifî vê gotara.

Rapora Çavkaniyê ya Kubernetes (kube-çavkaniyê-rapor)

"Daxwazên çavkaniya komê ya pod û Kubernetes berhev bikin, wan bi xerckirina çavkaniyê bidin ber hev, û HTML-a statîk biafirînin."

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Rapora Çavkaniyê ya Kubernetes raporên HTML-ê yên statîk li ser karanîna çavkaniyê û dabeşkirina lêçûnê li seranserê tîm / sepanên di koman de çêdike. Rapor ji bo piştgirî û bersiva bûyerê hinekî bikêr e ji ber ku ew dihêle hûn zû komika ku serîlêdan lê hatî bicîh kirin bibînin.

Not. werger.: Dibe ku karûbar û amûrek di dîtina agahdariya li ser dabeşkirina çavkaniyan û lêçûnên wan di nav pêşkêşkerên ewr de jî kêrhatî be. Kubecost, ku em binirxînin dawî hat weşandin.

Octant

"Platformek webê ya berfireh ji bo pêşdebiran hatî sêwirandin ku têgihîştina bêtir tevliheviya komên Kubernetes peyda bike."

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Octant, ku ji hêla VMware ve hatî afirandin, hilberek nû ye ku ez di demek nêzîk de fêr bûm. Bi arîkariya wê, ew hêsan e ku meriv komê li ser makîneyek herêmî keşif bike (tewra dîtbar jî hene), lê ew pirsgirêkên piştgirî û bersiva bûyerê tenê bi dereceyek tixûbdar çareser dike. Dezawantajên Octant:

  • Lêgerîna komê tune.
  • Tenê li ser makîneya herêmî dixebite (ji komekê re naxebite).
  • Nikarin tiştan birêkûpêk bikin/filter bikin (tenê hilbijêra etîketê piştgirî ye).
  • Hûn nikarin stûnên xwerû diyar bikin.
  • Tu nikarî tiştan li gorî navan binivîsî.

Di heman demê de pirsgirêkên min bi aramiya Octant bi komên Zalando re jî hebûn: li ser hin CRD ew ketibû.

Nasandina Kubernetes Web View

"kubectl ji bo tevnê".

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)

Piştî ku vebijarkên navberê yên berdest ji bo Kubernetes analîz kir, min biryar da ku yek nû biafirînim: Kubernetes WebView. Beriya her tiştî, bi rastî, ez tenê hewceyê hemî hêzê ne kubectl li ser malperê, bi navê:

  • hebûna hemî (tenê-xwendin) operasyonên ku bikarhêner tercîh dikin ku kubectl bikar bînin;
  • Pêdivî ye ku hemî URL daîmî bin û rûpelê bi forma xweya orîjînal temsîl bikin da ku hevkar karibin wan parve bikin û wan di amûrên din de bikar bînin;
  • piştgirî ji bo hemî tiştên Kubernetes, ku dê bihêle hûn her cûre pirsgirêkê çareser bikin;
  • Divê navnîşên çavkaniyê ji bo xebata din were dakêşandin (di pelên berbelav de, amûrên CLI yên mîna grep) û hilanîn (mînak, ji bo postmortems);
  • piştgirî ji bo hilbijartina çavkaniyan ji hêla labelê (wekhev kubectl get .. -l);
  • şiyana afirandina navnîşên hevgirtî yên cûrbecûr çavkaniyan (wekhev kubectl get all) ji bo bidestxistina wêneyek xebitandinê ya hevbeş di nav hevkaran de (mînakî, di dema bersivek bûyerê de);
  • şiyana lê zêdekirina girêdanên kûr ên jîr ên xwerû li amûrên din ên wekî dashboard, tomarok, qeydên serîlêdanê, hwd. ji bo hêsankirina pirsgirêkan/çareserkirina xeletiyan û bersivdana bûyeran;
  • Pêdivî ye ku pêşê bi qasî ku gengaz be (HTML-ya paqij) hêsan be ku ji pirsgirêkên bêserûber, wek JavaScripta cemidî dûr bikevin;
  • Piştgiriya ji bo gelek koman ji bo hêsankirina danûstendinê di dema şêwirdariya dûr de (mînakî, ji bîrkirina tenê yek URL);
  • Ger gengaz be, divê analîza rewşê were hêsan kirin (mînak, bi girêdanên dakêşana çavkaniyan ji bo hemî koman / cîhên navan);
  • îmkanên zêde ji bo afirandina girêdanên maqûl û ronîkirina agahdariya nivîsê, mînakî, da ku hûn di danasîna çavkaniyê de hevkaran nîşan bidin beşek taybetî (xêzek di YAML de);
  • şiyana ku meriv li gorî hewcedariyên xerîdarek taybetî xweş bike, mînakî, dihêle hûn ji bo CRD-ên şablonên pêşandana taybetî, dîmenên tabloya xwe biafirînin û şêwazên CSS-ê biguhezînin;
  • Amûrên ji bo lêgerîna bêtir li ser rêzika fermanê (mînak, nîşankirina fermanên tevahî kubectl, ji bo kopîkirinê amade ye);

Ji bilî peywirên ku di Kubernetes Web View de têne çareser kirin (ne gol) mayî:

  • razberkirina tiştên Kubernetes;
  • rêveberiya serîlêdanê (mînak, rêveberiya bicîhkirinê, nexşeyên Helm, hwd.);
  • operasyonên nivîsandinê (divê bi navgîniya CI/CD û/an amûrên GitOps ewledar were kirin);
  • navrûya xweşik (JavaScript, mijar, hwd.);
  • dîtbarîkirin (binêre kube-ops-view);
  • analîza lêçûnê (binêre kube-çavkanî-rapor).

Çawa Kubernetes Web View bi piştgirî û bersiva bûyerê re dibe alîkar?

alîkarî

  • Hemû girêdan daîmî ne, ku hêsantir dike ku agahdariya bi hevkaran re danûstendin.
  • Hûn dikarin biafirînin ramanên te, bo nimûne, hemî Dabeşkirin û Podên bi etîketek taybetî di du komikên taybetî de nîşan bidin (çend navên komê û cûreyên çavkaniyê dikarin di zencîreyê de bêne diyar kirin, bi koman têne veqetandin).
  • Hûn dikarin serî lê bidin rêzikên taybetî di pelek YAML de objekt, pirsgirêkên potansiyel ên di taybetmendiya objektê de destnîşan dike.

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)
Li Kubernetes Web View li gorî koman bigerin

Bersiva bûyerê

  • Lêgerîna gerdûnî (lêgerîna gerdûnî) dihêle hûn di hemî koman de li tiştan bigerin.
  • Views List dikare di hemî koman de hemî tiştên bi rewşek/stûnek diyarkirî nîşan bide (mînak, pêdivî ye ku em hemî podên bi statûya "Li bendê" bibînin).
  • Lîsteyên tiştan dikarin werin daxistin di formata nirxa veqetandî (TSV) de ji bo analîza paşîn.
  • Girêdanên derveyî yên xwerû Destûrê dide we ku hûn veguherînin dashboardên têkildar û amûrên din.

Daxuyaniya Nêrîna Webê ya Kubernetes (û kurteyek li ser UI-yên din ên malperê ji bo Kubernetes)
Dîtina Tevna Kubernetes: navnîşa podên bi statûya "Li bendê" di hemî koman de

Heke hûn dixwazin Kubernetes Web View biceribînin, ez pêşniyar dikim ku lênihêrîn belgekirin an lê binêre demo bijî.

Bê guman, navbeynkar dikaribû çêtir be, lê heya naha Kubernetes Web View amûrek e ji bo "bikarhênerên pêşkeftî" yên ku ger hewce be ji manipulasyona rêyên URL-ê bi destan dûr nakevin. Ger şîrove / zêdekirin / pêşniyarên we hebin, ji kerema xwe têkilî bi min re li ser Twitter!

Ev gotar kurte dîrokek paşnavê ye ku rê li ber afirandina Kubernetes Web View vekir. Zêdetir dê peyda bibin! (Not. werger.: Divê ew li bendê bin bloga nivîskar.)

PS ji wergêr

Li ser bloga me jî bixwînin:

Source: www.habr.com

Add a comment