Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Эскертүү. котормо.: Оригиналдуу материалдын автору Заландодон келген Хеннинг Джейкобс. Ал Kubernetes менен иштөө үчүн жаңы веб-интерфейсти түздү, ал "web үчүн kubectl" катары жайгашкан. Эмне үчүн жаңы Open Source долбоору пайда болду жана учурдагы чечимдер кайсы критерийлерге жооп берген жок - анын макаласын окуңуз.

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Бул постто мен ар кандай ачык булактуу Kubernetes веб-интерфейстерин карап чыгам, универсалдуу UI үчүн талаптарымды белгилейм жана эмне үчүн иштеп чыкканымды түшүндүрөм. Kubernetes WebView — бир эле учурда бир нече кластерлерди колдоону жана оңдоону жеңилдетүү үчүн иштелип чыккан интерфейс.

Колдонуу учурлары

Заландодо биз көп сандаган Kubernetes колдонуучуларын (900+) жана кластерлерди (100+) тейлейбиз. Атайын веб куралдан пайда ала турган бир нече жалпы колдонуу учурлары бар:

  1. колдоо үчүн кесиптештери менен байланыш;
  2. окуяларга жооп берүү жана алардын себептерин иликтөө.

колдоо

Менин тажрыйбамда, колдоо байланыштары көбүнчө төмөнкүдөй көрүнөт:

— Жардам, биздин XYZ кызматыбыз жеткиликсиз!
— Концертке чыкканда эмнени көрөсүң kubectl describe ingress ...?

Же CRD үчүн окшош нерсе:

— Менде идентификациялык кызматта көйгөй бар...
— Буйрук эмнени берет? kubectl describe platformcredentialsset ...?

Мындай байланыш, адатта, буйруктун ар кандай вариацияларын киргизүү үчүн келип чыгат kubectl көйгөйдү аныктоо үчүн. Натыйжада, сүйлөшүүнүн эки тарап тең терминал менен веб чатты тынымсыз алмаштырууга аргасыз болушат, плюс алар башка жагдайды байкашат.

Ошондуктан, мен Kubernetes веб-фронденти төмөндөгүлөргө уруксат беришин каалайм:

  • колдонуучулар мүмкүн алмашуу шилтемелер жана ошол эле нерсени байкоо;
  • жардам бермек адамдык каталардан кач колдоодо: мисалы, буйрук сабында туура эмес кластерге кирүү, CLI буйруктарындагы каталар ж.б.;
  • уруксат бермек өз көз караштарын түзүү кесиптештерге жөнөтүү, башкача айтканда, тегдердин тилкелерин кошуу, ресурстардын көптөгөн түрлөрүн бир баракта көрсөтүү;
  • Идеалында, бул желе куралы орнотууга мүмкүндүк берет YAMLдин белгилүү бөлүмдөрүнө "терең" шилтемелер (мисалы, каталарды жаратып жаткан туура эмес параметрди көрсөтүү).

Окуяга жооп берүү жана талдоо

Инфраструктуралык инциденттерге жооп кайтаруу кырдаалды түшүнүүнү, таасирди баалоо жөндөмүн жана кластерлердин үлгүлөрүн издөөнү талап кылат. Кээ бир реалдуу турмуштук мисалдар:

  • Критикалык өндүрүш кызматында көйгөйлөр бар жана сизге керек бардык кластерлерде аты боюнча бардык Kubernetes ресурстарын табыңызкөйгөйлөрдү чечүү;
  • түйүндөр масштабдаганда түшө баштайт жана сизге керек бардык кластерлерде "Күтүүдө" статусу бар бардык подкектерди табыңызмаселенин масштабын баалоо;
  • жеке колдонуучулар бардык кластерлерде орнотулган DaemonSet менен көйгөй жөнүндө кабарлап жатышат жана аны аныктоо керек Маселе жалпыбы?.

Мындай учурларда менин стандарттуу чечимим окшош for i in $clusters; do kubectl ...; done. Албетте, окшош мүмкүнчүлүктөрдү камсыз кылган курал иштелип чыгышы мүмкүн.

Учурдагы Kubernetes веб интерфейстери

Kubernetes веб-интерфейстеринин ачык булак дүйнөсү анча чоң эмес*, ошондуктан мен көбүрөөк маалымат чогултууга аракет кылдым. Twitter:

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

* Kubernetes үчүн веб-интерфейстердин чектелген саны боюнча менин түшүндүрмөсү: булут кызматтары жана Kubernetes сатуучулары, адатта, өздөрүнүн фронтторун сунушташат, ошондуктан "жакшы" акысыз Kubernetes UI рыногу салыштырмалуу аз.

Твиттер аркылуу мен билдим K8Dash, Kubernator и Октант. Келгиле, аларды жана башка учурдагы Open Source чечимдерин карап көрөлү, алардын эмне экенин түшүнүүгө аракет кылалы.

K8Dash

"K8Dash - Kubernetes кластерин башкаруунун эң жөнөкөй жолу."

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

K8Dash Жакшы көрүнөт жана тез сезет, бирок жогоруда саналып өткөн колдонуу учурлары үчүн бир катар кемчиликтери бар:

  • Бир кластердин чегинде гана иштейт.
  • Сорттоо жана чыпкалоо мүмкүн, бирок туруктуу шилтемелер жок.
  • Custom Resource Definitions (CRDs) үчүн эч кандай колдоо жок.

Kubernator

"Кубернатор - Kubernetes үчүн альтернативалуу UI. Жогорку деңгээлдеги Kubernetes тактасынан айырмаланып, ал кластердеги бардык объекттерге жаңыларын түзүү, аларды түзөтүү жана чыр-чатактарды чечүү мүмкүнчүлүгү менен төмөнкү деңгээлдеги башкарууну жана эң сонун көрүнүштү камсыз кылат. Толугу менен кардар тараптагы тиркеме (мисалы kubectl) болгондуктан, ал Kubernetes API серверинен башка эч кандай серверди талап кылбайт, ошондой эле кластерге кирүү эрежелерин сыйлайт.

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Бул абдан так сүрөттөлүшү болуп саналат Kubernator. Тилекке каршы, анын кээ бир өзгөчөлүктөрү жок:

  • Бир гана кластерге кызмат кылат.
  • Тизмени көрүү режими жок (б.а. "Күтүүдө" статусу менен бардык подкасттарды көрсөтө албайсыз).

Kubernetes тактасы

“Kubernetes Dashboard – бул Kubernetes кластерлери үчүн универсалдуу веб интерфейс. Ал колдонуучуларга кластерде иштеген тиркемелерди башкарууга жана көйгөйлөрдү чечүүгө, ошондой эле кластердин өзүн башкарууга мүмкүндүк берет».

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Тилекке каршы, Kubernetes тактасы Менин колдоо жана окуяга жооп берүү иш-аракеттериме чындап жардам бербейт, анткени ал:

  • туруктуу шилтемелер жок, мисалы мен ресурстарды чыпкалоодо же сорттоо тартибин өзгөртүүдө;
  • статусу боюнча чыпкалоонун оңой жолу жок - мисалы, "Күтүүдө" статусу бар бардык подкасттарды көрүү;
  • бир гана кластер колдоого алынат;
  • CRD колдоого алынбайт (бул функция иштелип чыгууда);
  • ыңгайлаштырылган тилкелер жок (мисалы, түрү боюнча белгиленген мамычалар kubectl -L).

Kubernetes операциялык көрүнүшү (kube-ops-view)

"K8s кластердик мейкиндиги үчүн системалык башкаруу панелинин байкоочусу."

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

У Kubernetes операциялык көрүнүшү Такыр башкача мамиле: бул курал WebGLди колдонуу менен кластердик түйүндөр менен подкасттарды гана көрсөтөт, тексттик объекттин деталдары жок. Бул кластердин ден соолугуна тез сереп салуу үчүн эң сонун (кабактар ​​түшүп жатабы?)*, бирок жогоруда сүрөттөлгөн колдоо жана инцидентке жооп берүү учурлары үчүн ылайыктуу эмес.

* Эскертүү. котормо.: Бул жагынан алганда, сиз да биздин плагинге кызыкдар болушуңуз мүмкүн grafana-statusmap, бул жөнүндө биз кененирээк сөз кылдык бул макалада.

Kubernetes ресурстук баяндамасы (kube-ресурс-отчет)

"Под жана Kubernetes кластердик ресурс суроо-талаптарын чогултуп, аларды ресурстун керектөөсүнө салыштырыңыз жана статикалык HTML түзүңүз."

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Kubernetes Resource Report ресурстарды колдонуу жана кластерлердеги командалар/тиркемелер боюнча чыгымдарды бөлүштүрүү боюнча статикалык HTML отчетторун түзөт. Отчет колдоо жана инцидентке жооп берүү үчүн бир аз пайдалуу, анткени ал тиркеме жайгаштырылган кластерди тез табууга мүмкүндүк берет.

Эскертүү. котормо.: Кызмат жана курал булут провайдерлери арасында ресурстарды бөлүштүрүү жана алардын чыгымдары жөнүндө маалыматты көрүү үчүн да пайдалуу болушу мүмкүн Kubecost, биз карап чыгабыз жакында жарыяланган.

Октант

"Kubernetes кластерлеринин татаалдыгын жакшыраак түшүнүү үчүн иштелип чыккан иштеп чыгуучулар үчүн кеңейтилген веб платформа."

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Октант, VMware тарабынан түзүлгөн, бул мен салыштырмалуу жакында эле үйрөнгөн жаңы продукт. Анын жардамы менен локалдык машинада кластерди изилдөө ыңгайлуу (ал тургай визуализациялар да бар), бирок ал колдоо жана инциденттерге жооп берүү маселелерин чектелген өлчөмдө гана чечет. Октанттын кемчиликтери:

  • Кластердик издөө жок.
  • Жергиликтүү машинада гана иштейт (кластерге жайылтылбайт).
  • Объекттерди сорттоо/чыпкалоо мүмкүн эмес (бир гана энбелги тандагыч колдоого алынат).
  • Сиз ыңгайлаштырылган тилкелерди көрсөтө албайсыз.
  • Сиз объекттерди аттар мейкиндиги боюнча тизмелей албайсыз.

Менде Zalando кластерлери менен Октанттын туруктуулугу менен көйгөйлөр болду: кээ бир CRDлерде ал жыгылып жатты.

Kubernetes Web View менен тааныштыруу

"web үчүн kubectl".

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)

Kubernetes интерфейсинин жеткиликтүү варианттарын талдап чыккандан кийин, мен жаңысын түзүүнү чечтим: Kubernetes WebView. Анткени, чындыгында мага бардык күч гана керек kubectl интернетте, атап айтканда:

  • колдонуучулар kubectl колдонууну каалаган бардык (окуу үчүн гана) операциялардын болушу;
  • бардык URL'дер туруктуу болушу керек жана кесиптештер аларды бөлүшүп, башка инструменттерде колдоно алышы үчүн баракчаны баштапкы түрүндө көрсөтүшү керек;
  • бардык Kubernetes объектилерин колдоо, бул ар кандай типтеги маселелерди чечүүгө мүмкүндүк берет;
  • ресурс тизмелери андан аркы иштөө үчүн жүктөлүшү керек (электрондук жадыбалдарда, CLI куралдары сыяктуу grep) жана сактоо (мисалы, өлгөндөн кийин);
  • энбелгиси боюнча ресурстарды тандоо үчүн колдоо (окшош kubectl get .. -l);
  • ресурстардын ар кандай түрлөрүнүн курама тизмелерин түзүү мүмкүнчүлүгү (окшош kubectl get all) кесиптештер арасында жалпы оперативдүү сүрөттү алуу (мисалы, окуяга жооп кайтаруу учурунда);
  • Башка инструменттерге ыңгайлаштырылган акылдуу терең шилтемелерди кошуу мүмкүнчүлүгү, мисалы, такталар, логгерлер, тиркеме реестрлери, ж.б. каталарды аныктоого/чечүүгө жана инциденттерге жооп берүүгө көмөктөшүү;
  • Фронт мүмкүн болушунча жөнөкөй (таза HTML) болушу керек, мисалы, тоңдурулган JavaScript сыяктуу кокус көйгөйлөрдөн качуу;
  • алыстан консалтинг учурунда өз ара аракеттенүүнү жөнөкөйлөтүү үчүн бир нече кластерлерди колдоо (мисалы, бир гана URL-ди эстеп калуу);
  • Мүмкүн болсо, кырдаалды талдоо жөнөкөйлөштүрүлүшү керек (мисалы, бардык кластерлер/ат мейкиндиктери үчүн ресурстарды жүктөө үчүн шилтемелер менен);
  • ийкемдүү шилтемелерди түзүү жана тексттик маалыматты бөлүп көрсөтүү үчүн кошумча мүмкүнчүлүктөр, мисалы, сиз кесиптештериңизди ресурстун сүрөттөмөсүндөгү белгилүү бир бөлүмгө көрсөтө аласыз (YAMLдеги сызык);
  • конкреттүү кардардын талаптарына ылайыкташтыруу мүмкүнчүлүгү, мисалы, CRD үчүн атайын дисплей шаблондорун түзүүгө, өзүңүздүн таблица көрүнүштөрүңүздү жана CSS стилдерин өзгөртүүгө мүмкүндүк берет;
  • буйрук сабында андан ары изилдөө үчүн куралдар (мисалы, толук буйруктарды көрсөтүү kubectl, көчүрүүгө даяр);

Kubernetes Web View'де чечилген тапшырмалардан тышкары (максатсыз) калды:

  • Kubernetes объекттерин абстракциялоо;
  • тиркемени башкаруу (мисалы, жайылтууну башкаруу, Helm диаграммалары ж.б.);
  • жазуу операциялары (коопсуз CI/CD жана/же GitOps куралдары аркылуу аткарылышы керек);
  • кооз интерфейс (JavaScript, темалар, ж.б.);
  • визуализация (кара kube-ops-view);
  • чыгымдарды талдоо (кара кубе-ресурс-отчет).

Kubernetes Web View колдоо көрсөтүүгө жана окуяга жооп берүүгө кандайча жардам берет?

колдоо

  • Бардык шилтемелер туруктуу, бул кесиптештер менен маалымат алмашууну жеңилдетет.
  • Сиз түзө аласыз сиздин идеяларыңыз, мисалы, бардык Жайгаштырууларды жана Поддорду белгилүү бир энбелгиси бар эки белгилүү кластерде көрсөтүңүз (бир нече кластер аттары жана ресурс түрлөрү шилтемеде көрсөтүлүшү мүмкүн, үтүр менен бөлүнгөн).
  • Сиз кайрылсаңыз болот YAML файлындагы белгилүү сызыктар объекттин спецификациясында мүмкүн болуучу көйгөйлөрдү көрсөтүүчү объект.

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)
Kubernetes Web View'де кластерлер боюнча издөө

Окуяга жооп

  • Глобалдык издөө (глобалдык издөө) бардык кластерлерде объекттерди издөөгө мүмкүндүк берет.
  • Көрүүлөр тизмеси бардык кластерлерде белгилүү бир абалы/тилкеси бар бардык объекттерди көрсөтө алат (мисалы, биз “Күтүүдө” статусу бар бардык подкасттарды табышыбыз керек).
  • Объекттердин тизмелерин жүктөп алууга болот кийинчерээк талдоо үчүн өтмөк менен бөлүнгөн маани (TSV) форматында.
  • Ыңгайлаштырылган тышкы шилтемелер Тиешелүү панелдерге жана башка куралдарга өтүүгө мүмкүндүк берет.

Kubernetes Web View жарыясы (жана Kubernetes үчүн башка веб UIлердин кыскача баяндамасы)
Kubernetes Веб көрүнүшү: бардык кластерлерде "Күтүүдө" статусу бар поддондордун тизмеси

Эгер сиз Kubernetes Web View сынап көргүңүз келсе, мен текшерип көрүүнү сунуштайм документтер же кара жандуу демо.

Албетте, интерфейс жакшыраак болушу мүмкүн, бирок азыр Kubernetes Web View - бул URL жолдорун керек болсо кол менен манипуляциялоодон тартынбаган "өнүккөн колдонуучулар" үчүн курал. Эгер кандайдыр бир комментарийлер/кошумчалар/сунуштарыңыз болсо, кайрылыңыз Twitterде мени менен!

Бул макала Kubernetes Web View түзүлүшүнө алып келген фондун кыскача тарыхы. Андан кийин дагы болот! (Эскертүү. котормо.: Аларды күтүү керек блог жазуучу.)

PS котормочудан

Биздин блогдон дагы окуңуз:

Source: www.habr.com

Комментарий кошуу