Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Kumbuka. tafsiri.: Mwandishi wa nyenzo asili ni Henning Jacobs kutoka Zalando. Aliunda kiolesura kipya cha wavuti cha kufanya kazi na Kubernetes, ambacho kimewekwa kama "kubectl kwa wavuti." Kwa nini mradi mpya wa Open Source ulionekana na ni vigezo gani ambavyo havikufikiwa na ufumbuzi uliopo - soma makala yake.

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Katika chapisho hili, ninakagua violesura mbalimbali vya tovuti vya Kubernetes, naweka mahitaji yangu ya UI ya ulimwengu wote, na kueleza kwa nini nilitengeneza. Kubernetes Web View - kiolesura kilichoundwa ili kurahisisha kuauni na kutatua makundi mengi mara moja.

Tumia kesi

Katika Zalando tunahudumia idadi kubwa ya watumiaji wa Kubernetes (900+) na makundi (100+). Kuna visa kadhaa vya utumiaji vya kawaida ambavyo vinaweza kufaidika kutoka kwa zana iliyojitolea ya wavuti:

  1. mawasiliano na wenzake kwa msaada;
  2. kujibu matukio na kuchunguza sababu zao.

Support

Katika uzoefu wangu, mawasiliano ya usaidizi mara nyingi huonekana kama hii:

- Msaada, huduma yetu XYZ haipatikani!
- Unaona nini unapofanya kubectl describe ingress ...?

Au kitu sawa kwa CRD:

- Nina shida na huduma ya kitambulisho ...
- Amri hutoa nini? kubectl describe platformcredentialsset ...?

Mawasiliano kama haya kawaida huja chini kwa kuingiza tofauti tofauti za amri kubectl ili kubaini tatizo. Kwa hivyo, wahusika wote kwenye mazungumzo wanalazimika kubadili kila mara kati ya terminal na gumzo la wavuti, pamoja na wao kuona hali tofauti.

Kwa hivyo, ningependa ukurasa wa mbele wa wavuti wa Kubernetes kuruhusu yafuatayo:

  • watumiaji wanaweza kubadilishana viungo na kuzingatia jambo lile lile;
  • ingesaidia kuepuka makosa ya kibinadamu kwa usaidizi: kwa mfano, kuingia kwenye nguzo isiyo sahihi kwenye mstari wa amri, typos katika amri za CLI, nk;
  • ingeruhusu toa maoni yako mwenyewe kutuma kwa wenzake, yaani, kuongeza safu za lebo, kuonyesha aina nyingi za rasilimali kwenye ukurasa mmoja;
  • Kwa kweli, zana hii ya wavuti inapaswa kukuruhusu kuweka "kirefu" kwa sehemu maalum za YAML (kwa mfano, kuashiria parameta isiyo sahihi ambayo inasababisha kushindwa).

Jibu na uchambuzi wa tukio

Kujibu matukio ya miundombinu kunahitaji ufahamu wa hali, uwezo wa kutathmini athari, na kutafuta ruwaza katika makundi. Baadhi ya mifano ya maisha halisi:

  • Huduma muhimu ya uzalishaji ina matatizo na unahitaji pata rasilimali zote za Kubernetes kwa majina katika vikundi vyotekutatua shida;
  • nodi huanza kuanguka wakati wa kuongeza na unahitaji tafuta maganda yote yenye hali ya "Pending" katika makundi yotekutathmini upeo wa tatizo;
  • watumiaji mahususi wanaripoti tatizo na DaemonSet iliyosambazwa kwenye makundi yote na wanahitaji kufahamu Je, tatizo ni jumla?.

Suluhisho langu la kawaida katika hali kama hizi ni kitu kama for i in $clusters; do kubectl ...; done. Kwa wazi, chombo kinaweza kutengenezwa ambacho hutoa uwezo sawa.

Miingiliano iliyopo ya wavuti ya Kubernetes

Ulimwengu wa chanzo huria wa miingiliano ya wavuti kwa Kubernetes sio kubwa sana*, kwa hivyo nilijaribu kukusanya habari zaidi kwa kutumia Twitter:

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

*Maelezo yangu kwa idadi ndogo ya violesura vya wavuti vya Kubernetes: huduma za wingu na wachuuzi wa Kubernetes kwa kawaida hutoa maeneo yao ya mbele, kwa hivyo soko la Kubernetes UI "nzuri" bila malipo ni ndogo.

Kupitia tweet niliyojifunza K8Dashi, Kubernator ΠΈ Oktanti. Wacha tuziangalie na suluhisho zingine zilizopo za Open Source, wacha tujaribu kuelewa ni nini.

K8Dashi

"K8Dash ndiyo njia rahisi zaidi ya kudhibiti nguzo ya Kubernetes."

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

K8Dashi Inaonekana vizuri na inahisi haraka, lakini ina idadi ya hasara kwa kesi za matumizi zilizoorodheshwa hapo juu:

  • Inafanya kazi tu ndani ya mipaka ya nguzo moja.
  • Kupanga na kuchuja kunawezekana, lakini usiwe na vibali.
  • Hakuna msaada kwa Ufafanuzi wa Rasilimali Maalum (CRDs).

Kubernator

"Kubernator ni UI mbadala kwa Kubernetes. Tofauti na Dashibodi ya kiwango cha juu ya Kubernetes, hutoa udhibiti wa kiwango cha chini na mwonekano bora katika vipengee vyote kwenye nguzo yenye uwezo wa kuunda vipya, kuvihariri na kutatua mizozo. Kwa kuwa programu ya upande wa mteja kabisa (kama kubectl), haihitaji hali yoyote ya nyuma isipokuwa seva ya Kubernetes API yenyewe, na pia inaheshimu sheria za ufikiaji wa nguzo.

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Haya ni maelezo sahihi kabisa Kubernator. Kwa bahati mbaya, haina baadhi ya vipengele:

  • Huhudumia nguzo moja tu.
  • Hakuna hali ya mwonekano wa orodha (yaani, huwezi kuonyesha maganda yote yenye hali ya "Inasubiri").

Dashibodi ya Kubernetes

"Dashibodi ya Kubernetes ni kiolesura cha ulimwengu kwa vikundi vya Kubernetes. Huruhusu watumiaji kudhibiti na kutatua programu zinazoendeshwa katika kundi, na pia kudhibiti nguzo yenyewe.

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Kwa bahati mbaya, Dashibodi ya Kubernetes haisaidii sana kwa usaidizi wangu na shughuli za kukabiliana na matukio kwa sababu:

  • hakuna viungo vya kudumu, kwa mfano ninapochuja rasilimali au kubadilisha mpangilio wa kupanga;
  • hakuna njia rahisi ya kuchuja kwa hali - kwa mfano, angalia ganda zote zilizo na hali "Inasubiri";
  • nguzo moja tu ndiyo inayoungwa mkono;
  • CRD hazitumiki (kipengele hiki kinatengenezwa);
  • hakuna safu wima maalum (kama vile safu wima zilizo na lebo kubectl -L).

Mtazamo wa Utendaji wa Kubernetes (kube-ops-view)

"Mtazamaji wa Dashibodi ya Mfumo wa Nafasi ya Nguzo ya K8s."

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Π£ Mtazamo wa Uendeshaji wa Kubernetes Mbinu tofauti kabisa: chombo hiki kinaonyesha nodi za nguzo tu na maganda kwa kutumia WebGL, bila maelezo yoyote ya kitu cha maandishi. Ni nzuri kwa muhtasari wa haraka wa afya ya nguzo (je! maganda yanaanguka?)*, lakini haifai kwa usaidizi na matukio ya utumiaji wa majibu ya matukio yaliyofafanuliwa hapo juu.

* Kumbuka. tafsiri.: Kwa maana hii, unaweza pia kupendezwa na programu-jalizi yetu grafana-statusmap, ambayo tulizungumza kwa undani zaidi ndani Makala hii.

Ripoti ya Rasilimali ya Kubernetes (kube-resource-ripoti)

"Kusanya maombi ya rasilimali za nguzo ya pod na Kubernetes, yalinganishe na matumizi ya rasilimali, na utengeneze HTML tuli."

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Ripoti ya Rasilimali ya Kubernetes huzalisha ripoti tuli za HTML kuhusu matumizi ya rasilimali na usambazaji wa gharama katika timu/programu katika makundi. Ripoti ni muhimu kwa usaidizi na jibu la tukio kwa sababu hukuruhusu kupata nguzo haraka ambapo programu imetumwa.

Kumbuka. tafsiri.: Huduma na zana inaweza pia kuwa muhimu katika kuangalia taarifa kuhusu ugawaji wa rasilimali na gharama zake kutoka kwa watoa huduma za wingu. Kubecost, ambayo tunapitia iliyochapishwa hivi karibuni.

Oktanti

"Jukwaa la wavuti linalopanuka kwa wasanidi programu iliyoundwa ili kutoa uelewa zaidi wa ugumu wa vikundi vya Kubernetes."

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Oktanti, iliyoundwa na VMware, ni bidhaa mpya ambayo nilijifunza kuihusu hivi majuzi. Kwa msaada wake, ni rahisi kuchunguza nguzo kwenye mashine ya ndani (kuna hata taswira), lakini inashughulikia masuala ya usaidizi na majibu ya tukio kwa kiasi kidogo. Ubaya wa Octant:

  • Hakuna utafutaji wa makundi.
  • Inafanya kazi tu kwenye mashine ya ndani (haitumii kwa nguzo).
  • Haiwezi kupanga/kuchuja vitu (kiteuzi cha lebo pekee ndicho kinachotumika).
  • Huwezi kubainisha safu wima maalum.
  • Huwezi kuorodhesha vitu kwa nafasi ya majina.

Pia nilikuwa na matatizo na uthabiti wa Octant na nguzo za Zalando: kwenye baadhi ya CRD alikuwa akianguka.

Tunakuletea Mwonekano wa Wavuti wa Kubernetes

"kubectl kwa wavuti".

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)

Baada ya kuchambua chaguzi zinazopatikana za kiolesura cha Kubernetes, niliamua kuunda mpya: Kubernetes Web View. Baada ya yote, kwa kweli, ninahitaji tu nguvu zote kubectl kwenye wavuti, yaani:

  • upatikanaji wa shughuli zote (za kusoma tu) ambazo watumiaji wanapendelea kutumia kubectl;
  • URL zote lazima ziwe za kudumu na ziwakilishe ukurasa katika umbo lake asili ili wenzako waweze kuzishiriki na kuzitumia katika zana zingine;
  • msaada kwa vitu vyote vya Kubernetes, ambayo itawawezesha kutatua aina yoyote ya tatizo;
  • orodha za rasilimali zinapaswa kupakuliwa kwa kazi zaidi (katika lahajedwali, zana za CLI kama grep) na kuhifadhi (kwa mfano, kwa postmortems);
  • msaada wa kuchagua rasilimali kwa lebo (sawa na kubectl get .. -l);
  • uwezo wa kuunda orodha za pamoja za aina anuwai za rasilimali (sawa na kubectl get all) kupata picha ya kawaida ya uendeshaji kati ya wenzake (kwa mfano, wakati wa majibu ya tukio);
  • uwezo wa kuongeza viungo mahiri vya kina kwa zana zingine kama vile dashibodi, waweka kumbukumbu, sajili za programu, n.k. kuwezesha utatuzi/utatuzi wa makosa na kukabiliana na matukio;
  • Sehemu ya mbele inapaswa kuwa rahisi iwezekanavyo (HTML safi) ili kuepuka matatizo ya nasibu, kama vile JavaScript iliyogandishwa;
  • usaidizi wa vikundi vingi ili kurahisisha mwingiliano wakati wa mashauriano ya mbali (kwa mfano, kukumbuka URL moja tu);
  • Ikiwezekana, uchanganuzi wa hali unapaswa kurahisishwa (kwa mfano, na viungo vya kupakua rasilimali kwa vikundi/nafasi zote za majina);
  • uwezo wa ziada wa kutengeneza viungo vinavyonyumbulika na kuangazia maelezo ya maandishi, kwa mfano, ili uweze kuwaelekeza wenzako kwenye sehemu maalum katika maelezo ya rasilimali (mstari katika YAML);
  • uwezo wa kubinafsisha mahitaji ya mteja maalum, kwa mfano, kukuruhusu kuunda violezo maalum vya kuonyesha kwa CRD, maoni yako ya meza na kubadilisha mitindo ya CSS;
  • zana za uchunguzi zaidi kwenye mstari wa amri (kwa mfano, kuonyesha amri kamili kubectl, tayari kwa kunakili);

Zaidi ya kazi zilizotatuliwa katika Mwonekano wa Wavuti wa Kubernetes (wasio na malengo) bakia:

  • uondoaji wa vitu vya Kubernetes;
  • usimamizi wa maombi (kwa mfano, usimamizi wa kupeleka, chati za Helm, nk);
  • kuandika shughuli (lazima ifanywe kupitia zana salama za CI/CD na/au GitOps);
  • interface nzuri (JavaScript, mandhari, nk);
  • taswira (tazama kube-ops-view);
  • uchambuzi wa gharama (tazama kube-resource-ripoti).

Je, Kubernetes Web View inasaidia vipi na usaidizi na majibu ya tukio?

Support

  • Viungo vyote ni vya kudumu, ambayo inafanya iwe rahisi kubadilishana habari na wenzako.
  • Unaweza kuunda mawazo yako, kwa mfano, onyesha Usambazaji na Maganda yote yenye lebo mahususi katika makundi mawili mahususi (majina kadhaa ya nguzo na aina za rasilimali zinaweza kubainishwa katika kiungo, zikitenganishwa na koma).
  • Unaweza kurejelea mistari maalum katika faili ya YAML kitu, kinachoonyesha matatizo yanayoweza kutokea katika vipimo vya kitu.

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)
Tafuta kwa makundi katika Kubernetes Web View

Jibu la tukio

  • Utafutaji wa kimataifa (utafutaji wa kimataifa) hukuruhusu kutafuta vitu katika vikundi vyote.
  • Mionekano ya Orodha inaweza kuonyesha vitu vyote vilivyo na hali/safu fulani katika makundi yote (kwa mfano, tunahitaji kupata maganda yote yenye hali ya "Inasubiri").
  • Orodha ya vitu inaweza kupakuliwa katika umbizo la thamani iliyotenganishwa na kichupo (TSV) kwa uchanganuzi wa baadaye.
  • Viungo vya nje vinavyoweza kubinafsishwa hukuruhusu kubadili kwa dashibodi zinazohusiana na zana zingine.

Tangazo la Kubernetes Web View (na muhtasari mfupi wa violesura vingine vya wavuti vya Kubernetes)
Kubernetes Web View: orodha ya maganda yenye hali ya "Inasubiri" katika makundi yote

Ikiwa unataka kujaribu Kubernetes Web View, napendekeza uangalie nyaraka au tazama onyesho la moja kwa moja.

Bila shaka, kiolesura kinaweza kuwa bora zaidi, lakini kwa sasa Kubernetes Web View ni zana ya "watumiaji wa hali ya juu" ambao hawaepuki kudhibiti njia za URL mwenyewe ikiwa ni lazima. Ikiwa una maoni / nyongeza / mapendekezo, tafadhali wasiliana nami kwenye Twitter!

Nakala hii ni historia fupi ya usuli ambayo ilisababisha kuundwa kwa Kubernetes Web View. Zaidi yatafuata! (Kumbuka. tafsiri.: Wanapaswa kutarajiwa blogu ya mwandishi.)

PSkutoka kwa mfasiri

Soma pia kwenye blogi yetu:

Chanzo: mapenzi.com

Kuongeza maoni