Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Белешка. трансл.: Аутор оригиналног материјала је Хеннинг Јацобс из Заланда. Направио је нови веб интерфејс за рад са Кубернетесом, који је позициониран као „кубецтл за веб“. Зашто се појавио нови Опен Соурце пројекат и које критеријуме нису испунила постојећа решења – прочитајте у његовом чланку.

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

У овом посту прегледам различите Кубернетес веб интерфејсе отвореног кода, излажем своје захтеве за универзални кориснички интерфејс и објашњавам зашто сам развио Кубернетес ВебВиев — интерфејс дизајниран да олакша подршку и решавање проблема са више кластера одједном.

Случајеви употребе

У Заланду опслужујемо велики број корисника Кубернетеса (900+) и кластера (100+). Постоји неколико уобичајених случајева употребе који би имали користи од наменског веб алата:

  1. комуникација са колегама за подршку;
  2. реаговање на инциденте и истраживање њихових узрока.

подршка

По мом искуству, комуникација подршке често изгледа овако:

— Помоћ, наша услуга КСИЗ је недоступна!
— Шта видите када наступате kubectl describe ingress ...?

Или нешто слично за ЦРД:

— Имам неки проблем са службом за идентификацију...
— Шта команда производи? kubectl describe platformcredentialsset ...?

Таква комуникација се обично своди на уношење разних варијација команде kubectl како би се идентификовао проблем. Као резултат тога, обе стране у разговору су принуђене да стално прелазе између терминала и веб ћаскања, плус посматрају другачију ситуацију.

Стога бих желео да Кубернетес веб фронтенд омогући следеће:

  • корисници би могли размени линкове и посматрати исту ствар;
  • ће помоћи избегавајте људске грешке у подршци: на пример, пријављивање у погрешан кластер на командној линији, грешке у куцању у ЦЛИ командама, итд.;
  • би дозволили генеришете своје ставове за слање колегама, односно додавање колона ознака, приказивање многих врста ресурса на једној страници;
  • У идеалном случају, овај веб алат би требало да вам омогући да подесите „дубоке“ везе ка одређеним одељцима ИАМЛ-а (на пример, указивање на нетачан параметар који узрокује грешке).

Одговор на инцидент и анализа

Реаговање на инфраструктурне инциденте захтева свест о ситуацији, способност процене утицаја и тражење образаца у кластерима. Неки примери из стварног живота:

  • Критична производна служба има проблема и то морате пронађите све Кубернетес ресурсе по имену у свим кластеримаза решавање проблема;
  • чворови почињу да падају приликом скалирања и треба вам пронађите све махуне са статусом „На чекању“ у свим кластеримада процени обим проблема;
  • појединачни корисници пријављују проблем са ДаемонСет-ом који је распоређен у свим кластерима и треба да то открију Да ли је проблем тоталан?.

Моје стандардно решење у таквим случајевима је нешто попут for i in $clusters; do kubectl ...; done. Очигледно је могуће развити алат који пружа сличне могућности.

Постојећи Кубернетес веб интерфејси

Свет отвореног кода веб интерфејса за Кубернетес није много*, па сам покушао да прикупим више информација користећи Twitter:

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

*Моје објашњење за ограничен број веб интерфејса за Кубернетес: услуге у облаку и добављачи Кубернетес-а обично нуде своје фронтендове, тако да је тржиште за „добре“ бесплатне Кубернетес корисничко сучеље релативно мало.

Кроз твит за који сам сазнао К8Дасх, Кубернатор и Октант. Погледајмо их и друга постојећа решења отвореног кода, хајде да покушамо да разумемо шта су.

К8Дасх

„К8Дасх је најједноставнији начин управљања Кубернетес кластером.“

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

К8Дасх Изгледа добро и брзо се осећа, али има низ недостатака за горе наведене случајеве:

  • Ради само у границама једног кластера.
  • Сортирање и филтрирање су могући, али немају сталне везе.
  • Не постоји подршка за прилагођене дефиниције ресурса (ЦРД).

Кубернатор

„Кубернатор је алтернативни кориснички интерфејс за Кубернетес. За разлику од Кубернетес Дасхбоард-а високог нивоа, он пружа контролу ниског нивоа и одличну видљивост свих објеката у кластеру са могућношћу креирања нових, уређивања и решавања сукоба. Будући да је у потпуности апликација на страни клијента (као кубецтл), не захтева никакав позадински део осим самог Кубернетес АПИ сервера, а такође поштује правила приступа кластеру.“

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Ово је прилично тачан опис Кубернатор. Нажалост, недостају му неке карактеристике:

  • Опслужује само један кластер.
  • Не постоји режим приказа листе (тј. не можете приказати све подове са статусом „На чекању“).

Кубернетес контролна табла

„Кубернетес Дасхбоард је универзални веб интерфејс за Кубернетес кластере. Омогућава корисницима да управљају и решавају проблеме са апликацијама које раде у кластеру, као и да управљају самим кластером."

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Нажалост, Кубернетес контролна табла не помаже у мојој подршци и активностима реаговања на инциденте јер:

  • нема сталних веза, на пример када филтрирам ресурсе или променим редослед сортирања;
  • не постоји једноставан начин за филтрирање према статусу – на пример, погледајте све подове са статусом „На чекању“;
  • само један кластер је подржан;
  • ЦРД-ови нису подржани (ова функција је у развоју);
  • нема прилагођених колона (на пример, колона означених по типу kubectl -L).

Кубернетес оперативни приказ (кубе-опс-виев)

„Систем Дасхбоард Обсервер за К8с Цлустер Спаце.“

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

У Кубернетес оперативни приказ Потпуно другачији приступ: овај алат приказује само чворове кластера и подове користећи ВебГЛ, без икаквих детаља о текстуалним објектима. Одличан је за брзи преглед стања кластера (да ли махуне падају?)*, али није погодан за горе описане случајеве подршке и одговора на инциденте.

* Белешка. трансл.: У том смислу, можда ћете бити заинтересовани и за наш додатак графана-статусмап, о чему смо детаљније говорили у Овај чланак.

Кубернетес извештај о ресурсима (кубе-ресоурце-репорт)

„Прикупите захтеве за ресурсе под и Кубернетес кластера, упоредите их са потрошњом ресурса и генеришете статички ХТМЛ.“

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Извештај о ресурсима Кубернетеса генерише статичке ХТМЛ извештаје о коришћењу ресурса и расподели трошкова између тимова/апликација у кластерима. Извештај је донекле користан за подршку и реаговање на инциденте јер вам омогућава да брзо пронађете кластер где је апликација распоређена.

Белешка. трансл.: Услуга и алат такође могу бити корисни за преглед информација о расподели ресурса и њиховим трошковима међу добављачима у облаку Кубецост, који прегледамо недавно објављено.

Октант

„Проширива веб платформа за програмере дизајнирана да пружи боље разумевање сложености Кубернетес кластера.“

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Октант, који је креирао ВМваре, је нови производ за који сам научио релативно недавно. Уз његову помоћ, згодно је истражити кластер на локалној машини (постоје чак и визуелизације), али се само у ограниченој мери бави питањима подршке и одговора на инциденте. Недостаци октанта:

  • Нема претраживања кластера.
  • Ради само на локалној машини (не поставља се у кластер).
  • Није могуће сортирати/филтрирати објекте (подржан је само селектор ознака).
  • Не можете одредити прилагођене колоне.
  • Не можете навести објекте по именском простору.

Такође сам имао проблема са стабилношћу Октанта са Заландо кластерима: на неким ЦРД-овима падао је.

Представљамо Кубернетес Веб Виев

„кубецтл за веб“.

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)

Након анализе доступних опција интерфејса за Кубернетес, одлучио сам да направим нову: Кубернетес ВебВиев. На крају крајева, у ствари, само ми је потребна сва моћ kubectl на вебу, и то:

  • доступност свих (само за читање) операција за које корисници више воле да користе кубецтл;
  • сви УРЛ-ови морају бити трајни и представљати страницу у њеном оригиналном облику тако да колеге могу да их деле и користе у другим алатима;
  • подршка за све Кубернетес објекте, што ће вам омогућити да решите било коју врсту проблема;
  • листе ресурса треба да се преузимају за даљи рад (у табелама, ЦЛИ алатима као што су grep) и складиштење (на пример, за обдукције);
  • подршка за избор ресурса према ознаци (слично као kubectl get .. -l);
  • могућност креирања комбинованих листа различитих врста ресурса (слично као kubectl get all) да се добије заједничка оперативна слика међу колегама (на пример, током реаговања на инцидент);
  • могућност додавања прилагођених паметних дубоких веза на друге алате као што су контролне табле, логери, регистри апликација итд. да олакша отклањање/решавање грешака и реаговање на инциденте;
  • Фронтенд треба да буде што једноставнији (чисти ХТМЛ) да би се избегли случајни проблеми, као што је замрзнути ЈаваСцрипт;
  • подршка за више кластера да би се поједноставила интеракција током даљинског консултовања (на пример, да се запамти само један УРЛ);
  • Ако је могуће, ситуациону анализу треба поједноставити (на пример, са линковима за преузимање ресурса за све кластере/именске просторе);
  • додатне могућности за креирање флексибилних веза и истицање текстуалних информација, на пример, тако да можете да укажете колегама на одређени одељак у опису ресурса (ред у ИАМЛ-у);
  • могућност прилагођавања захтевима одређеног клијента, на пример, омогућавајући вам да креирате посебне шаблоне приказа за ЦРД-ове, сопствене приказе табеле и промените ЦСС стилове;
  • алати за даље истраживање на командној линији (на пример, приказивање комплетних команди kubectl, спреман за копирање);

Осим задатака решених у Кубернетес Веб Виев-у (не-голови) остало:

  • апстракција Кубернетес објеката;
  • управљање апликацијама (на пример, управљање применом, Хелм графикони, итд.);
  • операције писања (мора да се уради преко безбедних ЦИ/ЦД и/или ГитОпс алата);
  • прелеп интерфејс (ЈаваСцрипт, теме, итд.);
  • визуализација (види кубе-опс-виев);
  • анализа трошкова (види кубе-ресоурце-репорт).

Како Кубернетес Веб Виев помаже у подршци и реаговању на инциденте?

подршка

  • Све везе су трајне, што олакшава размену информација са колегама.
  • Можете креирати своје идеје, на пример, приказује све Деплоименте и Подове са одређеном ознаком у два специфична кластера (неколико назива кластера и типова ресурса може се навести у вези, одвојено зарезима).
  • Можете се позвати на одређене линије у ИАМЛ датотеци објекат, што указује на потенцијалне проблеме у спецификацији објекта.

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)
Претражујте по кластерима у Кубернетес веб приказу

Одговор на инцидент

  • глобална претрага (глобална претрага) омогућава вам да тражите објекте у свим кластерима.
  • Лист Виевс може да прикаже све објекте са одређеним стањем/колона у свим кластерима (на пример, морамо да пронађемо све подове са статусом „На чекању“).
  • Листе објеката се могу преузети у формату вредности одвојених табулаторима (ТСВ) за каснију анализу.
  • Прилагодљиве спољне везе омогућавају вам да се пребаците на повезане контролне табле и друге алате.

Најава Кубернетес веб приказа (и кратак преглед другиһ веб корисничкиһ интерфејса за Кубернетес)
Кубернетес веб приказ: листа подова са статусом „На чекању“ у свим кластерима

Ако желите да испробате Кубернетес Веб Виев, препоручујем да проверите документацију или погледај ливе демо.

Наравно, интерфејс би могао да буде бољи, али за сада је Кубернетес Веб Виев алатка за „напредне кориснике“ који не беже од ручног манипулисања УРЛ путањама ако је потребно. Ако имате било какве коментаре/допуне/сугестије, контактирајте са мном на Твитеру!

Овај чланак је кратка историја позадине која је довела до стварања Кубернетес Веб Виев-а. Следи више! (Белешка. трансл.: Требало би их очекивати у ауторски блог.)

ПСод преводиоца

Прочитајте и на нашем блогу:

Извор: ввв.хабр.цом

Додај коментар