Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Akiyesi. itumọ.: Onkọwe ti ohun elo atilẹba jẹ Henning Jacobs lati Zalando. O ṣẹda wiwo wẹẹbu tuntun fun ṣiṣẹ pẹlu Kubernetes, eyiti o wa ni ipo bi “kubectl fun wẹẹbu.” Kini idi ti iṣẹ akanṣe Orisun Orisun tuntun kan han ati awọn ibeere wo ni ko pade nipasẹ awọn solusan ti o wa - ka nkan rẹ.

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Ninu ifiweranṣẹ yii, Mo ṣe atunyẹwo ọpọlọpọ orisun ṣiṣi Kubernetes oju opo wẹẹbu, ṣeto awọn ibeere mi fun UI gbogbo agbaye, ati ṣalaye idi ti Mo ṣe dagbasoke Kubernetes WebView - wiwo ti a ṣe lati jẹ ki o rọrun lati ṣe atilẹyin ati laasigbotitusita ọpọ awọn iṣupọ ni ẹẹkan.

Lo awọn igba

Ni Zalando a sin nọmba nla ti awọn olumulo Kubernetes (900+) ati awọn iṣupọ (100+). Awọn ọran lilo wọpọ meji lo wa ti yoo ni anfani lati ọpa wẹẹbu igbẹhin kan:

  1. ibaraẹnisọrọ pẹlu awọn ẹlẹgbẹ fun atilẹyin;
  2. fesi si awọn iṣẹlẹ ati ṣiṣewadii awọn idi wọn.

.Оддержка

Ninu iriri mi, awọn ibaraẹnisọrọ atilẹyin nigbagbogbo dabi eyi:

- Iranlọwọ, iṣẹ wa XYZ ko si!
— Kini o ri nigba ti o ba ṣe kubectl describe ingress ...?

Tabi nkankan iru fun CRD:

— Mo ni iṣoro diẹ pẹlu iṣẹ idanimọ…
— Kini aṣẹ naa ṣe jade? kubectl describe platformcredentialsset ...?

Ibaraẹnisọrọ bẹẹ nigbagbogbo wa si isalẹ lati titẹ ọpọlọpọ awọn iyatọ ti aṣẹ naa kubectl lati ṣe idanimọ iṣoro naa. Bi abajade, awọn ẹgbẹ mejeeji si ibaraẹnisọrọ ni a fi agbara mu lati yipada nigbagbogbo laarin ebute ati iwiregbe wẹẹbu, pẹlu wọn ṣe akiyesi ipo ti o yatọ.

Nitorinaa, Emi yoo fẹ iwaju oju opo wẹẹbu Kubernetes lati gba awọn atẹle laaye:

  • awọn olumulo le paṣipaarọ ìjápọ ki o si ma kiyesi ohun kanna;
  • yoo ṣe iranlọwọ yago fun eda eniyan asise ni atilẹyin: fun apẹẹrẹ, wíwọlé sinu iṣupọ aṣiṣe lori laini aṣẹ, typos ni awọn aṣẹ CLI, ati bẹbẹ lọ;
  • yoo gba laaye se ina ara rẹ wiwo lati firanṣẹ si awọn ẹlẹgbẹ, iyẹn ni, ṣafikun awọn ọwọn ti awọn afi, ṣafihan ọpọlọpọ awọn iru awọn orisun lori oju-iwe kan;
  • Bi o ṣe yẹ, ọpa wẹẹbu yii yẹ ki o gba ọ laaye lati ṣeto Awọn ọna asopọ "jinle" si awọn apakan pato ti YAML (fun apẹẹrẹ, tọka si paramita ti ko tọ ti o nfa awọn ikuna).

Idahun iṣẹlẹ ati itupalẹ

Idahun si awọn iṣẹlẹ amayederun nilo akiyesi ipo, agbara lati ṣe ayẹwo ipa, ati wa awọn ilana ni awọn iṣupọ. Diẹ ninu awọn apẹẹrẹ igbesi aye gidi:

  • Iṣẹ iṣelọpọ to ṣe pataki kan ni awọn iṣoro ati pe o nilo lati wa gbogbo awọn orisun Kubernetes nipasẹ orukọ ni gbogbo awọn iṣupọlati yanju iṣoro;
  • awọn apa bẹrẹ lati ṣubu nigbati iwọn ati pe o nilo wa gbogbo awọn adarọ-ese pẹlu ipo “Ni isunmọtosi” ni gbogbo awọn iṣupọlati ṣe ayẹwo ipari ti iṣoro naa;
  • awọn olumulo kọọkan n ṣe ijabọ ọran kan pẹlu DaemonSet ti a ran lọ kaakiri gbogbo awọn iṣupọ ati nilo lati ro ero Njẹ iṣoro naa lapapọ?.

Ojutu boṣewa mi ni iru awọn ọran jẹ nkan bi for i in $clusters; do kubectl ...; done. O han ni, o ṣee ṣe lati ṣe agbekalẹ irinṣẹ kan ti o pese awọn agbara kanna.

Awọn atọkun wẹẹbu Kubernetes ti o wa tẹlẹ

Aye orisun ṣiṣi ti awọn atọkun wẹẹbu si Kubernetes ko tobi pupọ *, nitorinaa Mo gbiyanju lati ṣajọ alaye diẹ sii nipa lilo twitter:

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

* Alaye mi fun nọmba to lopin ti awọn atọkun wẹẹbu fun Kubernetes: awọn iṣẹ awọsanma ati awọn olutaja Kubernetes nigbagbogbo nfunni ni iwaju tiwọn, nitorinaa ọja fun “dara” Kubernetes UI ọfẹ jẹ kekere.

Nipasẹ tweet kan Mo kọ nipa K8 Daṣi, Kubernator и Octant. Jẹ ki a wo wọn ati awọn solusan Orisun Orisun ti o wa tẹlẹ, jẹ ki a gbiyanju lati loye kini wọn jẹ.

K8 Daṣi

“K8Dash jẹ ọna ti o rọrun julọ lati ṣakoso iṣupọ Kubernetes kan.”

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

K8 Daṣi O dara ati rilara iyara, ṣugbọn o ni nọmba awọn aila-nfani fun awọn ọran lilo ti a ṣe akojọ loke:

  • Ṣiṣẹ nikan laarin awọn aala ti iṣupọ kan.
  • Tito lẹsẹsẹ ati sisẹ ṣee ṣe, ṣugbọn ko ni permalinks.
  • Ko si atilẹyin fun Awọn itumọ orisun orisun Aṣa (CRDs).

Kubernator

“Kubernator jẹ UI yiyan fun Kubernetes. Ko dabi Kubernetes Dashboard ti o ga, o pese iṣakoso ipele kekere ati hihan ti o dara julọ sinu gbogbo awọn nkan ti o wa ninu iṣupọ pẹlu agbara lati ṣẹda awọn tuntun, ṣatunkọ wọn, ati yanju awọn ija. Jije ohun elo ẹgbẹ alabara patapata (bii kubectl), ko nilo eyikeyi ẹhin miiran ju olupin Kubernetes API funrararẹ, ati pe o tun bọwọ fun awọn ofin iraye si iṣupọ.”

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Eleyi jẹ kan lẹwa deede apejuwe Kubernator. Laanu, ko ni awọn ẹya diẹ:

  • Sin nikan kan iṣupọ.
  • Ko si ipo wiwo atokọ (ie, o ko le ṣe afihan gbogbo awọn adarọ-ese pẹlu ipo “Ni isunmọtosi”).

Kubernetes Dasibodu

“Dashboard Kubernetes jẹ wiwo wẹẹbu agbaye fun awọn iṣupọ Kubernetes. O gba awọn olumulo laaye lati ṣakoso ati yanju awọn ohun elo ti n ṣiṣẹ ninu iṣupọ kan, bakannaa ṣakoso iṣupọ naa funrararẹ. ”

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Laanu, Kubernetes Dasibodu ko ṣe iranlọwọ gaan pẹlu atilẹyin mi ati awọn iṣẹ idahun iṣẹlẹ nitori pe:

  • ko si awọn ọna asopọ titilai, fun apẹẹrẹ nigbati mo ṣe àlẹmọ awọn orisun tabi yi aṣẹ too pada;
  • ko si ọna ti o rọrun lati ṣe àlẹmọ nipasẹ ipo - fun apẹẹrẹ, wo gbogbo awọn adarọ-ese pẹlu ipo “Ni isunmọtosi”;
  • iṣupọ kan ṣoṣo ni atilẹyin;
  • Awọn CRD ko ni atilẹyin (ẹya yii wa labẹ idagbasoke);
  • ko si awọn ọwọn aṣa (gẹgẹbi awọn ọwọn ti a samisi nipasẹ iru kubectl -L).

Wiwo Iṣiṣẹ Kubernetes (kube-ops-view)

"Oluwoye Dasibodu eto fun K8s Cluster Space."

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

У Kubernetes Operational Wo Ọna ti o yatọ patapata: ọpa yii fihan awọn apa iṣupọ ati awọn adarọ-ese ni lilo WebGL, laisi awọn alaye ohun elo eyikeyi. O jẹ nla fun iwoye iyara ti ilera iṣupọ (ṣe awọn adarọ-ese n ṣubu?) *, ṣugbọn ko dara fun atilẹyin ati awọn ọran lilo idahun isẹlẹ ti ṣalaye loke.

* Akiyesi. itumọ.: Ni ori yii, o tun le nifẹ ninu ohun itanna wa grafana-statusmap, eyi ti a ti sọrọ nipa ni diẹ apejuwe awọn ni Arokọ yi.

Ijabọ Awọn orisun Kubernetes (iroyin kube-resource-iroyin)

“Gba awọn ibeere orisun iṣupọ Kubernetes, podu ati iṣupọ, ṣe afiwe wọn si agbara awọn orisun, ati ṣe agbekalẹ HTML aimi.”

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Kubernetes Resource Iroyin n ṣe awọn ijabọ HTML aimi lori lilo awọn orisun ati pinpin iye owo kọja awọn ẹgbẹ/awọn ohun elo ninu awọn iṣupọ. Ijabọ naa wulo diẹ fun atilẹyin ati esi iṣẹlẹ nitori pe o fun ọ laaye lati wa iṣupọ ni iyara nibiti ohun elo ti gbe lọ.

Akiyesi. itumọ.: Iṣẹ kan ati ọpa le tun wulo ni wiwo alaye nipa ipin awọn ohun elo ati awọn idiyele wọn laarin awọn olupese awọsanma Kubecost, eyi ti a ayẹwo laipe atejade.

Octant

"Syeed aaye ayelujara ti o le jade fun awọn olupilẹṣẹ ti a ṣe apẹrẹ lati pese oye ti o tobi ju ti idiju ti awọn iṣupọ Kubernetes."

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Octant, ti a ṣẹda nipasẹ VMware, jẹ ọja tuntun ti Mo kọ nipa laipẹ. Pẹlu iranlọwọ rẹ, o rọrun lati ṣawari iṣupọ lori ẹrọ agbegbe kan (awọn iwoye paapaa wa), ṣugbọn o koju awọn ọran ti atilẹyin ati idahun iṣẹlẹ nikan si iwọn to lopin. Awọn alailanfani ti Octant:

  • Ko si wiwa iṣupọ.
  • Ṣiṣẹ nikan lori ẹrọ agbegbe (ko ran lọ si iṣupọ kan).
  • Ko le to awọn / àlẹmọ ohun (oluyan aami nikan ni atilẹyin).
  • O ko le pato awọn ọwọn aṣa.
  • O ko le ṣe atokọ awọn nkan nipasẹ aaye orukọ.

Mo tun ni awọn iṣoro pẹlu iduroṣinṣin Octant pẹlu awọn iṣupọ Zalando: lori diẹ ninu awọn CRD ó ń ṣubú.

Ifihan Kubernetes Wiwo Wẹẹbu

"kubectl fun ayelujara".

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)

Lẹhin itupalẹ awọn aṣayan wiwo ti o wa fun Kubernetes, Mo pinnu lati ṣẹda tuntun kan: Kubernetes WebView. Lẹhinna, ni otitọ, Mo nilo gbogbo agbara nikan kubectl lori ayelujara, eyun:

  • wiwa gbogbo awọn iṣẹ ṣiṣe (ka-nikan) eyiti awọn olumulo fẹ lati lo kubectl;
  • gbogbo awọn URL gbọdọ jẹ ti o yẹ ki o jẹ aṣoju oju-iwe ni fọọmu atilẹba rẹ ki awọn ẹlẹgbẹ le pin wọn ki o lo wọn ni awọn irinṣẹ miiran;
  • atilẹyin fun gbogbo awọn ohun Kubernetes, eyi ti yoo gba ọ laaye lati yanju eyikeyi iru iṣoro;
  • awọn atokọ orisun yẹ ki o ṣe igbasilẹ fun iṣẹ siwaju (ni awọn iwe kaakiri, awọn irinṣẹ CLI bii grep) ati ibi ipamọ (fun apẹẹrẹ, fun awọn postmortems);
  • atilẹyin fun yiyan awọn orisun nipasẹ aami (iru si kubectl get .. -l);
  • agbara lati ṣẹda awọn atokọ apapọ ti awọn oriṣi awọn orisun (bii kubectl get all) lati gba aworan iṣiṣẹ ti o wọpọ laarin awọn ẹlẹgbẹ (fun apẹẹrẹ, lakoko esi iṣẹlẹ);
  • agbara lati ṣafikun awọn ọna asopọ jinlẹ ọlọgbọn aṣa si awọn irinṣẹ miiran gẹgẹbi awọn dasibodu, awọn olutaja, awọn iforukọsilẹ ohun elo, ati bẹbẹ lọ. lati dẹrọ laasigbotitusita / yanju awọn aṣiṣe ati idahun si awọn iṣẹlẹ;
  • Iwaju iwaju yẹ ki o rọrun bi o ti ṣee (HTML mimọ) lati yago fun awọn iṣoro laileto, gẹgẹbi JavaScript tutunini;
  • atilẹyin fun awọn iṣupọ pupọ lati ṣe irọrun ibaraenisepo lakoko ijumọsọrọ latọna jijin (fun apẹẹrẹ, lati ranti URL kan nikan);
  • Ti o ba ṣeeṣe, itupalẹ ipo yẹ ki o rọrun (fun apẹẹrẹ, pẹlu awọn ọna asopọ lati ṣe igbasilẹ awọn orisun fun gbogbo awọn iṣupọ/awọn aaye orukọ);
  • awọn anfani afikun fun ṣiṣẹda awọn ọna asopọ rọ ati fifi alaye ọrọ han, fun apẹẹrẹ, ki o le tọka awọn ẹlẹgbẹ si apakan kan pato ninu apejuwe awọn orisun (ila kan ni YAML);
  • agbara lati ṣe akanṣe si awọn ibeere ti alabara kan pato, fun apẹẹrẹ, gbigba ọ laaye lati ṣẹda awọn awoṣe ifihan pataki fun awọn CRD, awọn iwo tabili tirẹ, ati yi awọn aṣa CSS pada;
  • awọn irinṣẹ fun iwadii siwaju lori laini aṣẹ (fun apẹẹrẹ, fifi awọn aṣẹ ni kikun han kubectl, setan fun didaakọ);

Ni ikọja awọn iṣẹ-ṣiṣe ti o yanju ni Wiwo Wẹẹbu Kubernetes (ti kii ṣe afojusun) wà:

  • abstraction ti Kubernetes ohun;
  • iṣakoso ohun elo (fun apẹẹrẹ, iṣakoso imuṣiṣẹ, awọn shatti Helm, ati bẹbẹ lọ);
  • kọ awọn iṣẹ (gbọdọ ṣee ṣe nipasẹ aabo CI / CD ati / tabi awọn irinṣẹ GitOps);
  • wiwo ti o lẹwa (JavaScript, awọn akori, ati bẹbẹ lọ);
  • iworan (wo kube-ops-view);
  • itupalẹ iye owo (wo kube-oluşewadi-iroyin).

Bawo ni Wiwo Wẹẹbu Kubernetes ṣe iranlọwọ pẹlu atilẹyin ati esi iṣẹlẹ?

.Оддержка

  • Gbogbo awọn ọna asopọ wa titilai, eyi ti o mu ki o rọrun lati ṣe paṣipaarọ alaye pẹlu awọn ẹlẹgbẹ.
  • O le ṣẹda rẹ ero, fun apẹẹrẹ, ṣe afihan gbogbo Awọn imuṣiṣẹ ati Pods pẹlu aami kan pato ni awọn iṣupọ meji pato (awọn orukọ iṣupọ pupọ ati awọn iru orisun ni a le sọ ni ọna asopọ, ti o yapa nipasẹ aami idẹsẹ).
  • O le tọka si awọn ila kan pato ninu faili YAML kan ohun kan, nfihan awọn iṣoro ti o pọju ninu sipesifikesonu ohun.

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)
Ṣewadii nipasẹ awọn iṣupọ ni Wiwo Wẹẹbu Kubernetes

Idahun Isẹlẹ

  • wiwa agbaye (awari agbaye) gba ọ laaye lati wa awọn nkan ni gbogbo awọn iṣupọ.
  • Akojọ Awọn iwo le ṣe afihan gbogbo awọn nkan pẹlu ipinlẹ kan/iwe kan ninu gbogbo awọn iṣupọ (fun apẹẹrẹ, a nilo lati wa gbogbo awọn adarọ-ese pẹlu ipo “Ni isunmọtosi”).
  • Awọn atokọ ti awọn nkan le ṣe igbasilẹ ni taabu-niya iye (TSV) kika fun nigbamii onínọmbà.
  • asefara ita ìjápọ Gba ọ laaye lati yipada si awọn dasibodu ti o ni ibatan ati awọn irinṣẹ miiran.

Ikede ti Wiwo Wẹẹbu Kubernetes (ati atokọ kukuru ti awọn UI wẹẹbu miiran fun Kubernetes)
Wiwo Wẹẹbu Kubernetes: atokọ ti awọn adarọ-ese pẹlu ipo “Ni isunmọtosi” ni gbogbo awọn iṣupọ

Ti o ba fẹ gbiyanju Wiwo Oju opo wẹẹbu Kubernetes, Mo ṣeduro ṣayẹwo jade iwe aṣẹ tabi wo ifiwe demo.

Nitoribẹẹ, wiwo le dara julọ, ṣugbọn fun bayi Kubernetes Wiwo Oju opo wẹẹbu jẹ ohun elo fun “awọn olumulo ti o ni ilọsiwaju” ti ko ni itiju lati ifọwọyi awọn ọna URL pẹlu ọwọ ti o ba jẹ dandan. Ti o ba ni awọn asọye / awọn afikun / awọn imọran, jọwọ kan si pẹlu mi lori Twitter!

Nkan yii jẹ itan kukuru ti abẹlẹ ti o yori si ṣiṣẹda Wiwo Oju opo wẹẹbu Kubernetes. Diẹ sii yoo tẹle! (Akiyesi. itumọ.: Wọn yẹ ki o nireti ni onkowe ká bulọọgi.)

PS lati onitumọ

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun