ProHoster > Blogs > AdministrÄcija > PaziÅojums par Kubernetes tÄ«mekļa skatu (un Ä«ss pÄrskats par citÄm Kubernetes tÄ«mekļa saskarnÄm)
PaziÅojums par Kubernetes tÄ«mekļa skatu (un Ä«ss pÄrskats par citÄm Kubernetes tÄ«mekļa saskarnÄm)
PiezÄ«me. tulk.: OriÄ£inÄlÄ materiÄla autors ir Henings Džeikobss no Zalando. ViÅÅ” izveidoja jaunu tÄ«mekļa saskarni darbam ar Kubernetes, kas ir pozicionÄta kÄ "kubectl tÄ«meklim". KÄpÄc parÄdÄ«jÄs jauns atvÄrtÄ pirmkoda projekts un kÄdiem kritÄrijiem neatbilda esoÅ”ie risinÄjumi - lasiet viÅa rakstÄ.
Å ajÄ ziÅojumÄ es apskatu dažÄdas atvÄrtÄ koda Kubernetes tÄ«mekļa saskarnes, izklÄstu savas prasÄ«bas universÄlam lietotÄja interfeisam un paskaidroju, kÄpÄc es izstrÄdÄju Kubernetes WebView ā saskarne, kas izstrÄdÄta, lai atvieglotu vairÄku klasteru atbalstu un problÄmu novÄrÅ”anu vienlaikus.
LietoŔanas gadījumi
UzÅÄmumÄ Zalando mÄs apkalpojam lielu skaitu Kubernetes lietotÄju (900+) un klasteru (100+). Ir daži izplatÄ«ti lietoÅ”anas gadÄ«jumi, kuros noderÄtu Ä«paÅ”s tÄ«mekļa rÄ«ks:
komunikÄcija ar kolÄÄ£iem atbalsta sniegÅ”anai;
reaÄ£Äjot uz incidentiem un izmeklÄjot to cÄloÅus.
atbalsts
PÄc manas pieredzes atbalsta saziÅa bieži izskatÄs Å”Ädi:
ā PalÄ«dziet, mÅ«su pakalpojums XYZ nav pieejams!
ā Ko jÅ«s redzat, kad uzstÄjaties kubectl describe ingress ...?
Vai kaut kas līdzīgs CRD:
ā Man ir problÄmas ar identifikÄcijas pakalpojumu...
ā Ko komanda rada? kubectl describe platformcredentialsset ...?
Å Äda saziÅa parasti ir saistÄ«ta ar dažÄdu komandas variantu ievadÄ«Å”anu kubectl lai identificÄtu problÄmu. RezultÄtÄ abas sarunas puses ir spiestas pastÄvÄ«gi pÄrslÄgties starp terminÄli un tÄ«mekļa tÄrzÄÅ”anu, kÄ arÄ« ievÄro atŔķirÄ«gu situÄciju.
TÄpÄc es vÄlos, lai Kubernetes tÄ«mekļa saskarne atļautu tÄlÄk norÄdÄ«to.
lietotÄji varÄtu apmaiÅas saites un ievÄro to paÅ”u;
atļautu radÄ«t savus uzskatus nosÅ«tÄ«t kolÄÄ£iem, tas ir, pievienot tagu kolonnas, vienÄ lapÄ attÄlot daudzu veidu resursus;
IdeÄlÄ gadÄ«jumÄ Å”im tÄ«mekļa rÄ«kam vajadzÄtu ļaut iestatÄ«t "dziļÄs" saites uz konkrÄtÄm YAML sadaļÄm (piemÄram, norÄdot nepareizu parametru, kas izraisa kļūmes).
NegadÄ«jumu reaÄ£ÄÅ”ana un analÄ«ze
Lai reaÄ£Ätu uz infrastruktÅ«ras negadÄ«jumiem, ir nepiecieÅ”ama situÄcijas izpratne, spÄja novÄrtÄt ietekmi un meklÄt modeļus klasteros. Daži reÄlÄs dzÄ«ves piemÄri:
Kritiskajam ražoÅ”anas pakalpojumam ir problÄmas, un jums tas ir jÄdara atrast visus Kubernetes resursus pÄc nosaukuma visos klasterosnovÄrst problÄmas;
mezgli sÄk krist, kad mÄrogoÅ”ana un jums ir nepiecieÅ”ams atrast visus aplikumus ar statusu āGaidaā visÄs kopÄsnovÄrtÄt problÄmas apjomu;
atseviŔķi lietotÄji ziÅo par problÄmu, kas saistÄ«ta ar DaemonSet, kas ir izvietota visos klasteros, un viÅiem tas ir jÄnoskaidro Vai problÄma ir pilnÄ«ga?.
Mans standarta risinÄjums Å”Ädos gadÄ«jumos ir kaut kas lÄ«dzÄ«gs for i in $clusters; do kubectl ...; done. AcÄ«mredzot varÄtu izstrÄdÄt rÄ«ku, kas nodroÅ”ina lÄ«dzÄ«gas iespÄjas.
EsoÅ”Äs Kubernetes tÄ«mekļa saskarnes
Kubernetes tÄ«mekļa saskarÅu atvÄrtÄ koda pasaule nav ļoti liela*, tÄpÄc es mÄÄ£inÄju iegÅ«t vairÄk informÄcijas, izmantojot Twitter:
*Mans skaidrojums par ierobežoto Kubernetes tÄ«mekļa saskarÅu skaitu: mÄkoÅpakalpojumi un Kubernetes piegÄdÄtÄji parasti piedÄvÄ savus priekÅ”galus, tÄpÄc ālabasā bezmaksas Kubernetes lietotÄja saskarnes tirgus ir salÄ«dzinoÅ”i mazs.
Izmantojot tvÄ«tu, par kuru es uzzinÄju K8Dash, Kubernators Šø Oktanta. ApskatÄ«sim tos un citus esoÅ”os Open Source risinÄjumus, mÄÄ£inÄsim saprast, kas tie ir.
K8Dash
"K8Dash ir vienkÄrÅ”Äkais veids, kÄ pÄrvaldÄ«t Kubernetes klasteru."
K8Dash IzskatÄs labi un jÅ«tas Ätri, taÄu tam ir vairÄki trÅ«kumi iepriekÅ” minÄtajos lietoÅ”anas gadÄ«jumos:
Darbojas tikai viena klastera robežÄs.
Ir iespÄjama kÄrtoÅ”ana un filtrÄÅ”ana, taÄu tÄm nav pastÄvÄ«gÄs saites.
PielÄgotas resursu definÄ«cijas (CRD) netiek atbalstÄ«tas.
Kubernators
āKubernator ir alternatÄ«va Kubernetes lietotÄja saskarne. AtŔķirÄ«bÄ no augsta lÄ«meÅa Kubernetes informÄcijas paneļa, tas nodroÅ”ina zema lÄ«meÅa vadÄ«bu un lielisku visu klastera objektu redzamÄ«bu ar iespÄju izveidot jaunus, rediÄ£Ät tos un atrisinÄt konfliktus. TÄ kÄ tai ir pilnÄ«bÄ klienta puses lietojumprogramma (piemÄram, kubectl), tai nav nepiecieÅ”ama cita aizmugursistÄma, izÅemot paÅ”u Kubernetes API serveri, un tÄ arÄ« ievÄro klasteru piekļuves noteikumus.
Å is ir diezgan precÄ«zs apraksts Kubernators. DiemžÄl tai trÅ«kst dažu funkciju:
Apkalpo tikai vienu kopu.
Nav saraksta skata režīma (t.i., jÅ«s nevarat parÄdÄ«t visus aplikumus ar statusu āGaidaā).
Kubernetes informÄcijas panelis
āKubernetes Dashboard ir universÄla tÄ«mekļa saskarne Kubernetes klasteriem. Tas ļauj lietotÄjiem pÄrvaldÄ«t un novÄrst lietojumprogrammas, kas darbojas klasterÄ«, kÄ arÄ« pÄrvaldÄ«t paÅ”u klasteru.
Š£ Kubernetes operatÄ«vais skats PilnÄ«gi atŔķirÄ«ga pieeja: Å”is rÄ«ks parÄda tikai klasteru mezglus un pÄkstis, izmantojot WebGL, bez teksta teksta detaļÄm. Tas ir lieliski piemÄrots Ätrai klastera stÄvokļa pÄrskatam (vai pÄksti krÄ«t?)*, taÄu tas nav piemÄrots iepriekÅ” aprakstÄ«tajiem atbalsta un reaÄ£ÄÅ”anas gadÄ«jumiem.
* PiezÄ«me. tulk.: Å ajÄ ziÅÄ jÅ«s varÄtu interesÄt arÄ« mÅ«su spraudnis grafana-statusa karte, par kuru mÄs runÄjÄm sÄ«kÄk Å is raksts.
Kubernetes resursu pÄrskats (kube-resource-report)
"Apkopojiet pod un Kubernetes klasteru resursu pieprasÄ«jumus, salÄ«dziniet tos ar resursu patÄriÅu un Ä£enerÄjiet statisku HTML."
Kubernetes resursu pÄrskats Ä£enerÄ statiskus HTML pÄrskatus par resursu izmantoÅ”anu un izmaksu sadalÄ«jumu pa komandÄm/lietojumprogrammÄm klasteros. PÄrskats ir nedaudz noderÄ«gs atbalstam un reaÄ£ÄÅ”anai uz incidentiem, jo āātas ļauj Ätri atrast kopu, kurÄ lietojumprogramma ir izvietota.
PiezÄ«me. tulk.: pakalpojums un rÄ«ks var bÅ«t noderÄ«gs arÄ« informÄcijas skatÄ«Å”anai par resursu sadali un to izmaksÄm starp mÄkoÅpakalpojumu sniedzÄjiem. Kubecost, kuru mÄs pÄrskatÄm nesen publicÄts.
Oktanta
"PaplaÅ”inÄma tÄ«mekļa platforma izstrÄdÄtÄjiem, kas paredzÄta, lai nodroÅ”inÄtu labÄku izpratni par Kubernetes klasteru sarežģītÄ«bu."
Oktanta, ko izveidoja VMware, ir jauns produkts, par kuru es uzzinÄju salÄ«dzinoÅ”i nesen. Ar tÄ palÄ«dzÄ«bu ir Ärti izpÄtÄ«t klasteru lokÄlajÄ datorÄ (ir pat vizualizÄcijas), taÄu atbalsta un incidentu reaÄ£ÄÅ”anas jautÄjumus tas risina tikai ierobežotÄ apjomÄ. Oktanta trÅ«kumi:
Nav klasteru meklÄÅ”anas.
Darbojas tikai vietÄjÄ maŔīnÄ (neizvieto klasterÄ«).
Nevar kÄrtot/filtrÄt objektus (tiek atbalstÄ«ts tikai etiÄ·eÅ”u atlasÄ«tÄjs).
Man arÄ« bija problÄmas ar Octant stabilitÄti ar Zalando klasteriem: dažos CRD viÅÅ” krita.
IepazÄ«stinÄm ar Kubernetes Web View
"kubectl tīmeklim".
IzanalizÄjis Kubernetes pieejamÄs saskarnes opcijas, es nolÄmu izveidot jaunu: Kubernetes WebView. Galu galÄ, patiesÄ«bÄ man vienkÄrÅ”i vajag visu spÄku kubectl tÄ«meklÄ«, proti:
visu (tikai lasÄmo) darbÄ«bu pieejamÄ«ba, kurÄm lietotÄji izvÄlas izmantot kubectl;
visiem URL ir jÄbÅ«t pastÄvÄ«giem un jÄatspoguļo lapa tÄs sÄkotnÄjÄ formÄ, lai kolÄÄ£i varÄtu tos kopÄ«got un izmantot citos rÄ«kos;
atbalsts visiem Kubernetes objektiem, kas ļaus atrisinÄt jebkura veida problÄmas;
resursu sarakstiem jÄbÅ«t lejupielÄdÄjamiem turpmÄkam darbam (izklÄjlapÄs, CLI rÄ«kos, piemÄram, grep) un uzglabÄÅ”ana (piemÄram, pÄcnÄves gadÄ«jumam);
atbalsts resursu atlasei pÄc etiÄ·etes (lÄ«dzÄ«gi kubectl get .. -l);
iespÄja izveidot kombinÄtus dažÄda veida resursu sarakstus (lÄ«dzÄ«gi kÄ kubectl get all) iegÅ«t kopÄ«gu operatÄ«vo priekÅ”statu kolÄÄ£u starpÄ (piemÄram, reaÄ£Äjot uz incidentu);
iespÄja pievienot pielÄgotas viedÄs dziļÄs saites citiem rÄ«kiem, piemÄram, informÄcijas paneļiem, reÄ£istrÄtÄjiem, lietojumprogrammu reÄ£istriem utt. veicinÄt traucÄjummeklÄÅ”anu/kļūdu risinÄÅ”anu un reaÄ£ÄÅ”anu uz incidentiem;
PriekÅ”galam jÄbÅ«t pÄc iespÄjas vienkÄrÅ”Äkam (tÄ«ram HTML), lai izvairÄ«tos no nejauÅ”Äm problÄmÄm, piemÄram, iesaldÄta JavaScript;
vairÄku klasteru atbalsts, lai vienkÄrÅ”otu mijiedarbÄ«bu attÄlÄs konsultÄcijas laikÄ (piemÄram, lai atcerÄtos tikai vienu URL);
Ja iespÄjams, situÄcijas analÄ«ze ir jÄvienkÄrÅ”o (piemÄram, ar saitÄm, lai lejupielÄdÄtu resursus visiem klasteriem/nosaukumvietÄm);
papildu iespÄjas elastÄ«gu saiÅ”u veidoÅ”anai un teksta informÄcijas izcelÅ”anai, piemÄram, lai varÄtu kolÄÄ£us norÄdÄ«t uz konkrÄtu sadaļu resursa aprakstÄ (rindiÅa YAML valodÄ);
iespÄja pielÄgoties konkrÄta klienta prasÄ«bÄm, piemÄram, ļaujot izveidot Ä«paÅ”as displeja veidnes CRD, savus tabulu skatus un mainÄ«t CSS stilus;
KÄ Kubernetes Web View palÄ«dz sniegt atbalstu un reaÄ£Ät uz incidentiem?
atbalsts
Visas saites ir pastÄvÄ«gas, kas atvieglo informÄcijas apmaiÅu ar kolÄÄ£iem.
JÅ«s varat izveidot jÅ«su idejas, piemÄram, attÄlot visus izvietojumus un aplikumus ar noteiktu etiÄ·eti divos konkrÄtos klasteros (saitÄ var norÄdÄ«t vairÄkus klasteru nosaukumus un resursu veidus, atdalot tos ar komatiem).
JÅ«s varat atsaukties uz noteiktas rindas YAML failÄ objektu, norÄdot iespÄjamÄs problÄmas objekta specifikÄcijÄ.
Protams, saskarne varÄtu bÅ«t labÄka, taÄu pagaidÄm Kubernetes Web View ir rÄ«ks āpieredzÄjuÅ”iem lietotÄjiemā, kuri vajadzÄ«bas gadÄ«jumÄ nevairÄs manuÄli manipulÄt ar URL ceļiem. Ja jums ir kÄdi komentÄri/papildinÄjumi/ieteikumi, lÅ«dzu sazinieties ar mani Twitter!
Å ajÄ rakstÄ ir sniegta Ä«sa vÄstures vÄsture, kuras rezultÄtÄ tika izveidots Kubernetes Web View. VÄl sekos! (PiezÄ«me. tulk.: ViÅus vajadzÄtu sagaidÄ«t autora emuÄrs.)