Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Nota. transl.: L-awtur tal-materjal oriġinali huwa Henning Jacobs minn Zalando. Huwa ħoloq interface web ġdid biex jaħdem ma 'Kubernetes, li huwa pożizzjonat bħala "kubectl għall-web." Għaliex deher proġett ġdid ta 'Open Source u liema kriterji ma ġewx sodisfatti minn soluzzjonijiet eżistenti - aqra l-artiklu tiegħu.

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

F'din il-kariga, nirrevedi d-diversi interfaces tal-web ta' Kubernetes ta' sors miftuħ, nistabbilixxi r-rekwiżiti tiegħi għal UI universali, u nispjega għaliex żviluppajt Kubernetes WebView — interface iddisinjata biex tagħmilha aktar faċli biex jiġu appoġġjati u ssolvi l-problemi ta' clusters multipli f'daqqa.

Każijiet ta' użu

F'Zalando naqdu numru kbir ta' utenti ta' Kubernetes (900+) u clusters (100+). Hemm ftit każijiet ta' użu komuni li jibbenefikaw minn għodda tal-web apposta:

  1. komunikazzjoni mal-kollegi għall-appoġġ;
  2. jirrispondu għall-inċidenti u jinvestigaw il-kawżi tagħhom.

Appoġġ

Fl-esperjenza tiegħi, il-komunikazzjonijiet ta' appoġġ spiss jidhru bħal dan:

— Għajnuna, is-servizz tagħna XYZ mhux disponibbli!
— X'tara meta twettaq kubectl describe ingress ...?

Jew xi ħaġa simili għal CRD:

— Għandi xi problema bis-servizz ta' identifikazzjoni...
— X'jipproduċi l-kmand? kubectl describe platformcredentialsset ...?

Komunikazzjoni bħal din is-soltu tiġi biex jidħlu diversi varjazzjonijiet tal-kmand kubectl sabiex tidentifika l-problema. Bħala riżultat, iż-żewġ partijiet fil-konversazzjoni huma mġiegħla jaqilbu kontinwament bejn it-terminal u l-web chat, kif ukoll josservaw sitwazzjoni differenti.

Għalhekk, nixtieq li l-frontend tal-web Kubernetes jippermetti dan li ġej:

  • utenti jistgħu skambju links u josservaw l-istess ħaġa;
  • jgħin jevitaw żbalji umani b'appoġġ: pereżempju, illoggjar fil-cluster ħażin fuq il-linja tal-kmand, typos fil-kmandi CLI, eċċ.;
  • jippermetti tiġġenera l-fehmiet tiegħek biex tibgħat lill-kollegi, jiġifieri, żid kolonni ta 'tikketti, turi ħafna tipi ta' riżorsi fuq paġna waħda;
  • Idealment, din l-għodda tal-web għandha tippermettilek li tissettja links "fond" għal sezzjonijiet speċifiċi ta' YAML (pereżempju, tindika parametru żbaljat li qed jikkawża fallimenti).

Reazzjoni għall-inċidenti u analiżi

Ir-reazzjoni għall-inċidenti tal-infrastruttura teħtieġ għarfien tas-sitwazzjoni, il-kapaċità li tevalwa l-impatt, u tfittex mudelli fi gruppi. Xi eżempji tal-ħajja reali:

  • Servizz ta 'produzzjoni kritiku qed ikollu problemi u għandek bżonn sib ir-riżorsi kollha ta' Kubernetes bl-isem fir-raggruppamenti kollhabiex issolvi l-problemi;
  • in-nodi jibdew jaqgħu meta tiskala u għandek bżonn sib il-miżwed kollha bl-istatus "Pendenti" fir-raggruppamenti kollhabiex jivvaluta l-ambitu tal-problema;
  • utenti individwali qed jirrappurtaw kwistjoni b'DaemonSet skjerata fil-clusters kollha u jridu jsibu Il-problema hija totali?.

Is-soluzzjoni standard tiegħi f'każijiet bħal dawn hija xi ħaġa simili for i in $clusters; do kubectl ...; done. Ovvjament, tista' tiġi żviluppata għodda li tipprovdi kapaċitajiet simili.

Interfaces tal-web Kubernetes eżistenti

Id-dinja tas-sors miftuħ tal-interfaces tal-web għal Kubernetes mhix kbira ħafna *, għalhekk ippruvajt niġbor aktar informazzjoni billi tuża twitter:

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

* L-ispjegazzjoni tiegħi għan-numru limitat ta 'interfaces tal-web għal Kubernetes: is-servizzi tal-cloud u l-bejjiegħa ta' Kubernetes normalment joffru l-frontends tagħhom stess, għalhekk is-suq għal UI Kubernetes b'xejn "tajba" huwa relattivament żgħir.

Permezz ta’ tweet tgħallimt dwaru K8Dash, Kubernator и Octant. Ejja nħarsu lejhom u soluzzjonijiet oħra eżistenti Open Source, ejja nippruvaw nifhmu x'inhuma.

K8Dash

"K8Dash huwa l-aktar mod sempliċi biex timmaniġġja cluster Kubernetes."

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

K8Dash Jidher tajjeb u jħoss veloċi, iżda għandu għadd ta' żvantaġġi għall-każijiet ta' użu elenkati hawn fuq:

  • Jaħdem biss fil-konfini ta' cluster wieħed.
  • L-għażla u l-iffiltrar huma possibbli, iżda m'għandhomx permalinks.
  • M'hemm l-ebda appoġġ għad-Definizzjonijiet tar-Riżorsi Custom (CRDs).

Kubernator

“Kubernator huwa UI alternattiva għal Kubernetes. B'differenza mid-Dashboard Kubernetes ta 'livell għoli, jipprovdi kontroll ta' livell baxx u viżibilità eċċellenti fl-oġġetti kollha fil-cluster bil-kapaċità li toħloq oħrajn ġodda, teditjahom, u ssolvi l-kunflitti. Billi hija applikazzjoni kompletament min-naħa tal-klijent (bħal kubectl), ma teħtieġ l-ebda backend għajr is-server tal-API Kubernetes innifsu, u tirrispetta wkoll ir-regoli tal-aċċess għall-clusters.”

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Din hija deskrizzjoni pjuttost preċiża Kubernator. Sfortunatament, hija nieqsa minn xi karatteristiċi:

  • Iservi cluster wieħed biss.
  • M'hemm l-ebda mod ta 'viżjoni tal-lista (jiġifieri, ma tistax turi l-imżiewed kollha bl-istatus "Pendenti").

Kubernetes Dashboard

“Kubernetes Dashboard huwa interface web universali għal clusters Kubernetes. Jippermetti lill-utenti jimmaniġġjaw u jsolvu l-problemi tal-applikazzjonijiet li jaħdmu fi cluster, kif ukoll jimmaniġġjaw il-cluster innifsu.”

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Sfortunatament, Kubernetes Dashboard ma tantx jgħin fl-attivitajiet ta' appoġġ u rispons għall-inċidenti tiegħi għaliex:

  • m'hemm l-ebda links permanenti, pereżempju meta niffiltra r-riżorsi jew nibdel is-sort order;
  • m'hemm l-ebda mod faċli biex tiffiltra skond l-istatus - per eżempju, ara l-imżiewed kollha bl-istatus "Pendenti";
  • cluster wieħed biss huwa appoġġjat;
  • CRDs mhumiex appoġġjati (din il-karatteristika qed tiġi żviluppata);
  • l-ebda kolonni tad-dwana (bħal kolonni ttikkettjati skond it-tip kubectl -L).

Kubernetes Operational View (kube-ops-view)

"Osservatur tad-Dashboard tas-Sistema għall-Ispazju tal-K8s Cluster."

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

У Kubernetes Operational View Approċċ kompletament differenti: din l-għodda turi biss nodi tal-clusters u imżiewed bl-użu tal-WebGL, mingħajr ebda dettalji tal-oġġett testwali. Huwa tajjeb ħafna għal ħarsa ġenerali ta 'malajr tas-saħħa tal-cluster (qed jaqgħu l-imżiewed?)*, iżda mhux adattat għall-każijiet ta' użu ta 'appoġġ u rispons għall-inċidenti deskritti hawn fuq.

* Nota. transl.: F'dan is-sens, inti tista 'wkoll tkun interessat fil-plugin tagħna grafana-statusmap, li tkellimna dwaru f'aktar dettall fi Dan l-artikolu.

Rapport tar-Riżorsi Kubernetes (rapport-riżors-kube)

"Iġbor it-talbiet tar-riżorsi tal-gruppi ta' pod u Kubernetes, qabbilhom mal-konsum tar-riżorsi, u ġġenera HTML statiku."

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Rapport tar-Riżorsi Kubernetes jiġġenera rapporti HTML statiċi dwar l-użu tar-riżorsi u d-distribuzzjoni tal-ispejjeż fost timijiet/applikazzjonijiet fi gruppi. Ir-rapport huwa kemmxejn utli għall-appoġġ u r-rispons għall-inċidenti għaliex jippermettilek issib malajr il-cluster fejn tiġi skjerata l-applikazzjoni.

Nota. transl.: Servizz u għodda jistgħu jkunu utli wkoll biex tara informazzjoni dwar l-allokazzjoni tar-riżorsi u l-ispejjeż tagħhom fost il-fornituri tal-cloud Kubecost, li aħna nirrevedu ippubblikata reċentement.

Octant

"Pjattaforma tal-web estensibbli għall-iżviluppaturi mfassla biex tipprovdi fehim akbar tal-kumplessità tal-clusters ta' Kubernetes."

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Octant, maħluqa minn VMware, huwa prodott ġdid li tgħallimt dwaru relattivament reċentement. Bl-għajnuna tagħha, huwa konvenjenti li tesplora l-cluster fuq magna lokali (saħansitra hemm viżwalizzazzjonijiet), iżda tindirizza l-kwistjonijiet ta 'appoġġ u rispons għall-inċidenti biss sa ċertu punt. Żvantaġġi ta' Octant:

  • L-ebda tfittxija fil-clusters.
  • Jaħdem biss fuq il-magna lokali (ma tiskjerax għal cluster).
  • Ma tistax issortja/tiffiltra oġġetti (is-selettur tat-tikketta biss huwa appoġġjat).
  • Ma tistax tispeċifika kolonni tad-dwana.
  • Ma tistax telenka l-oġġetti bl-ispazju tal-isem.

Kelli wkoll problemi bl-istabbiltà ta 'Octant ma' clusters Zalando: fuq xi CRDs kien jaqa’.

Nintroduċu Kubernetes Web View

"kubectl għall-web".

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)

Wara li analizzat l-għażliet tal-interface disponibbli għal Kubernetes, iddeċidejt li noħloq waħda ġdida: Kubernetes WebView. Wara kollox, fil-fatt, għandi bżonn biss il-qawwa kollha kubectl fuq il-web, jiġifieri:

  • disponibbiltà tal-operazzjonijiet kollha (qari biss) li għalihom l-utenti jippreferu jużaw kubectl;
  • l-URLs kollha għandhom ikunu permanenti u jirrappreżentaw il-paġna fil-forma oriġinali tagħha sabiex il-kollegi jkunu jistgħu jaqsmuhom u jużawhom f'għodod oħra;
  • appoġġ għall-oġġetti kollha Kubernetes, li jippermettilek issolvi kwalunkwe tip ta 'problema;
  • Il-listi tar-riżorsi għandhom jitniżżlu għal aktar xogħol (fi spreadsheets, għodod CLI bħal grep) u ħażna (per eżempju, għal postmortems);
  • appoġġ għall-għażla tar-riżorsi skont it-tikketta (simili għal kubectl get .. -l);
  • il-ħila li toħloq listi magħquda ta’ diversi tipi ta’ riżorsi (simili għal kubectl get all) biex tinkiseb stampa operattiva komuni fost il-kollegi (pereżempju, waqt reazzjoni għal inċident);
  • l-abbiltà li żżid links profondi intelliġenti personalizzati għal għodod oħra bħal dashboards, loggers, reġistri tal-applikazzjonijiet, eċċ. biex jiffaċilita s-soluzzjoni tal-problemi/is-soluzzjoni tal-iżbalji u r-rispons għall-inċidenti;
  • Il-frontend għandu jkun sempliċi kemm jista 'jkun (HTML pur) biex jiġu evitati problemi każwali, bħal JavaScript iffriżat;
  • appoġġ għal clusters multipli biex tissimplifika l-interazzjoni waqt konsultazzjoni remota (pereżempju, biex tiftakar URL wieħed biss);
  • Jekk possibbli, l-analiżi tas-sitwazzjoni għandha tiġi ssimplifikata (pereżempju, b'links biex tniżżel ir-riżorsi għall-clusters/ispazji tal-isem kollha);
  • opportunitajiet addizzjonali biex jinħolqu links flessibbli u tenfasizza l-informazzjoni tat-test, pereżempju, sabiex tkun tista’ tipponta lill-kollegi lejn taqsima speċifika fid-deskrizzjoni tar-riżorsi (linja f’YAML);
  • l-abbiltà li tippersonalizza r-rekwiżiti ta 'klijent speċifiku, pereżempju, li tippermettilek toħloq mudelli ta' wiri speċjali għal CRDs, fehmiet tal-mejda tiegħek stess, u tibdel l-istili CSS;
  • għodod għal aktar esplorazzjoni fuq il-linja tal-kmand (per eżempju, turi kmandi sħaħ kubectl, lest għall-ikkupjar);

Lil hinn mill-kompiti solvuti f'Kubernetes Web View (mhux miri) baqa:

  • estrazzjoni ta' oġġetti Kubernetes;
  • ġestjoni tal-applikazzjoni (per eżempju, ġestjoni tal-iskjerament, karti Helm, eċċ.);
  • operazzjonijiet ta' kitba (għandu jsir permezz ta' għodod siguri ta' CI/CD u/jew GitOps);
  • interface sabiħa (JavaScript, temi, eċċ.);
  • viżwalizzazzjoni (ara kube-ops-veduta);
  • analiżi tal-ispiża (ara kube-resource-report).

Kubernetes Web View kif jgħin fl-appoġġ u r-rispons għall-inċidenti?

Appoġġ

  • Il-links kollha huma permanenti, li tagħmilha aktar faċli li tiskambja informazzjoni mal-kollegi.
  • Tista 'toħloq l-ideat tiegħek, pereżempju, uri l-Iskjeramenti u l-Pods kollha b'tikketta speċifika f'żewġ gruppi speċifiċi (diversi ismijiet ta 'clusters u tipi ta' riżorsi jistgħu jiġu speċifikati fil-link, separati b'virgoli).
  • Tista' tirreferi għal linji speċifiċi f'fajl YAML oġġett, li jindika problemi potenzjali fl-ispeċifikazzjoni tal-oġġett.

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)
Fittex mill-clusters f'Kubernetes Web View

Rispons għall-Inċidenti

  • Tfittxija globali (tfittxija globali) jippermettilek tfittex oġġetti fir-raggruppamenti kollha.
  • Lista Views jista 'juri l-oġġetti kollha b'ċertu stat/kolonna fir-raggruppamenti kollha (per eżempju, għandna bżonn insibu l-imżiewed kollha bl-istatus "Pendenti").
  • Listi ta' oġġetti jistgħu jitniżżlu f'format ta' valur separat minn tab (TSV) għal analiżi aktar tard.
  • Links esterni customizable Jippermettilek taqleb għal dashboards relatati u għodod oħra.

Tħabbira tal-Kubernetes Web View (u ħarsa ġenerali qasira ta' UIs oħra tal-web għal Kubernetes)
Kubernetes Web View: lista ta 'miżwed bi status "Pendenti" fir-raggruppamenti kollha

Jekk trid tipprova Kubernetes Web View, nirrakkomanda li tiċċekkja dokumentazzjoni jew tħares lejn live demo.

Naturalment, l-interface tista 'tkun aħjar, iżda għalissa Kubernetes Web View hija għodda għal "utenti avvanzati" li ma jibżgħux milli jimmanipulaw il-mogħdijiet tal-URL manwalment jekk meħtieġ. Jekk għandek xi kummenti/żidiet/suġġerimenti, jekk jogħġbok ikkuntattja miegħi fuq Twitter!

Dan l-artikolu huwa storja qasira tal-isfond li wassal għall-ħolqien ta 'Kubernetes Web View. Aktar se jsegwu! (Nota. transl.: Għandhom ikunu mistennija fi blog tal-awtur.)

PSmit-traduttur

Aqra wkoll fuq il-blog tagħna:

Sors: www.habr.com

Żid kumment