Шарҳ. тарҷума.: Муаллифи маводи аслӣ Ҳеннинг Ҷейкобс аз Заландо мебошад. Вай интерфейси нави вебро барои кор бо Kubernetes сохт, ки ҳамчун "kubectl барои веб" ҷойгир шудааст. Чаро як лоиҳаи нави Open Source пайдо шуд ва кадом меъёрҳо бо ҳалли мавҷуда ҷавобгӯ набуданд - мақолаи ӯро хонед.
Дар ин паём, ман интерфейсҳои гуногуни манбаи кушодаи Kubernetes-ро баррасӣ мекунам, талаботҳои худро барои UI универсалӣ баён мекунам ва шарҳ медиҳам, ки чаро ман таҳия кардам
Ҳолатҳоро истифода баред
Дар Zalando мо ба шумораи зиёди корбарони Kubernetes (900+) ва кластерҳо (100+) хизмат мерасонем. Якчанд ҳолатҳои маъмули истифода мавҷуданд, ки аз як абзори веби махсус манфиат мегиранд:
- муошират бо ҳамкорон барои дастгирӣ;
- вокуниш ба ҳодисаҳо ва таҳқиқи сабабҳои онҳо.
таъмин
Дар таҷрибаи ман, алоқаҳои дастгирӣ аксар вақт чунинанд:
— Кӯмак, хидмати мо XYZ дастнорас аст!
— Хангоми баромад кардан чй мебинед kubectl describe ingress ...
?
Ё чизи шабеҳ барои CRD:
— Ман бо хадамоти шиносоӣ мушкиле дорам...
— Фармон чй мебарорад? kubectl describe platformcredentialsset ...
?
Чунин муошират одатан барои ворид кардани вариантҳои гуногуни фармон ба амал меояд kubectl
барои муайян кардани мушкилот. Дар натиҷа, ҳарду ҷониби сӯҳбат маҷбур мешаванд, ки пайваста байни терминал ва веб чат гузаранд ва илова бар ин, онҳо вазъияти дигарро мушоҳида мекунанд.
Аз ин рӯ, ман мехоҳам, ки веби Kubernetes ба инҳо иҷозат диҳад:
- истифодабарандагон метавонанд мубодилаи пайвандҳо ва ҳамон чизро риоя кунед;
- кумак мекард аз хатогиҳои инсонӣ дурӣ ҷӯед дар дастгирӣ: масалан, ворид шудан ба кластери нодуруст дар сатри фармон, хатогиҳо дар фармонҳои CLI ва ғайра;
- имкон медод назари худро эҷод кунед ба ҳамкорон фиристодан, яъне сутунҳои тегҳоро илова кардан, дар як саҳифа намудҳои зиёди захираҳоро нишон додан;
- Идеалӣ, ин воситаи веб бояд ба шумо имкон диҳад, ки танзим кунед Пайвандҳои "амиқи" ба бахшҳои мушаххаси YAML (масалан, нишон додани параметри нодуруст, ки боиси нокомиҳо мегардад).
Вокуниш ба ҳодисаҳо ва таҳлил
Вокуниш ба ҳодисаҳои инфрасохторӣ огоҳии вазъият, қобилияти арзёбии таъсир ва ҷустуҷӯи намунаҳоро дар кластерҳо талаб мекунад. Баъзе мисолҳои ҳаёти воқеӣ:
- Хизматрасонии истеҳсолии муҳим мушкилот дорад ва шумо бояд ҳама захираҳои Kubernetes аз рӯи ном дар ҳама кластерҳо пайдо кунедбартараф кардани мушкилот;
- гиреҳҳо оғоз ба афтод ҳангоми миқёс ва ба шумо лозим аст дар ҳама кластерҳо ҳамаи подкҳоро бо ҳолати "Интизорӣ" пайдо кунедбаҳо додан ба доираи мушкилот;
- корбарони инфиродӣ дар бораи мушкилот бо DaemonSet дар ҳама кластерҳо гузориш медиҳанд ва бояд фаҳманд Оё мушкилот пурра аст?.
Ҳалли стандартии ман дар ин гуна ҳолатҳо як чиз аст for i in $clusters; do kubectl ...; done
. Аён аст, ки асбобе таҳия кардан мумкин аст, ки қобилиятҳои шабеҳро таъмин мекунад.
Интерфейсҳои веби мавҷудаи Kubernetes
Ҷаҳони кушодаи интерфейсҳои веб ба Kubernetes он қадар калон нест*, аз ин рӯ ман кӯшиш кардам, ки маълумоти бештарро бо истифода аз
* Шарҳи ман дар бораи шумораи маҳдуди веб-интерфейсҳо барои Kubernetes: хидматҳои абрӣ ва фурӯшандагони Kubernetes одатан фронтҳои худро пешниҳод мекунанд, аз ин рӯ бозори "хуб" UI ройгони Kubernetes нисбатан хурд аст.
Тавассути твит ман дар бораи он фаҳмидам
K8Dash
"K8Dash соддатарин роҳи идоракунии кластери Kubernetes аст."
- Танҳо дар ҳудуди як кластер кор мекунад.
- Мураттабсозӣ ва филтркунӣ имконпазир аст, аммо истинодҳои доимӣ надоранд.
- Барои таърифҳои захираҳои фармоишӣ (CRDs) дастгирӣ нест.
Кубернатор
"Кубернатор як интерфейси алтернативӣ барои Kubernetes аст. Баръакси панели сатҳи баланди Kubernetes, он назорати сатҳи паст ва дидани аълоро дар ҳама объектҳои кластер бо қобилияти сохтани объектҳои нав, таҳрир кардани онҳо ва ҳалли низоъҳо таъмин мекунад. Он як барномаи комилан муштарӣ буда (ба монанди kubectl), он ба ғайр аз худи сервери API Kubernetes ягон пуштибониро талаб намекунад ва инчунин қоидаҳои дастрасии кластерро эҳтиром мекунад."
Ин тавсифи хеле дақиқ аст
- Танҳо ба як кластер хизмат мерасонад.
- Ҳолати намоиши рӯйхат вуҷуд надорад (яъне шумо наметавонед ҳамаи подкҳоро бо ҳолати "Интизорӣ" намоиш диҳед).
Панели идоракунии Kubernetes
"Тантаи Kubernetes як интерфейси универсалии веб барои кластерҳои Kubernetes аст. Он ба корбарон имкон медиҳад, ки барномаҳоеро, ки дар кластер кор мекунанд, идора ва бартараф кунанд ва инчунин худи кластерро идора кунанд.”
Мутаассифона,
- истинодҳои доимӣ вуҷуд надоранд, масалан, вақте ки ман захираҳоро филтр мекунам ё тартиби навъро тағир медиҳам;
- роҳи осони филтр аз рӯи вазъ вуҷуд надорад - масалан, дидани ҳамаи подкӯҳҳо бо ҳолати "Интизорӣ";
- танҳо як кластер дастгирӣ карда мешавад;
- CRD-ҳо дастгирӣ намешаванд (ин хусусият дар ҳоли таҳия аст);
- ҳеҷ сутуни фармоишӣ (масалан сутунҳое, ки аз рӯи намуд нишон дода шудаанд
kubectl -L
).
Намоиши амалиётии Kubernetes (kube-ops-view)
"Назоратчии панели система барои фазои кластерии K8s."
У
* Шарҳ. тарҷума.: Ба ин маъно, шумо низ шояд ба плагини мо таваҷҷӯҳ дошта бошед
Гузориши захираҳои Kubernetes (kube-resource-report)
"Дархостҳои манбаи кластерии pod ва Kubernetes-ро ҷамъ кунед, онҳоро бо истеъмоли захираҳо муқоиса кунед ва HTML-и статикиро тавлид кунед."
Шарҳ. тарҷума.: Хидмат ва асбоб инчунин метавонад барои дидани маълумот дар бораи тақсимоти захираҳо ва хароҷоти онҳо аз провайдерҳои абрӣ муфид бошад
Октант
"Платформаи васеъшавандаи веб барои таҳиягарон барои фароҳам овардани фаҳмиши бештари мураккабии кластерҳои Kubernetes тарҳрезӣ шудааст."
- Ҷустуҷӯи кластер нест.
- Танҳо дар мошини маҳаллӣ кор мекунад (ба кластер ҷойгир намешавад).
- Объектҳоро ҷудо кардан/филтр кардан мумкин нест (танҳо интихобкунандаи тамғакоғаз дастгирӣ мешавад).
- Шумо сутунҳои фармоиширо муайян карда наметавонед.
- Шумо наметавонед объектҳоро аз рӯи фазои ном номбар кунед.
Ман инчунин бо устувории Октант бо кластерҳои Заландо мушкилот доштам: дар баъзе CRDҳо
Муаррифии Kubernetes Web View
"kubectl барои веб".
Пас аз таҳлили имконоти дастраси интерфейси Kubernetes, ман қарор додам, ки интерфейси нав эҷод кунам: kubectl
дар интернет, аз ҷумла:
- мавҷудияти ҳама (танҳо барои хондан) амалиётҳое, ки корбарон барои онҳо истифода бурдани kubectlро афзалтар медонанд;
- ҳама URL-ҳо бояд доимӣ бошанд ва саҳифаро дар шакли аслии худ намояндагӣ кунанд, то ҳамкорон онҳоро мубодила кунанд ва дар дигар абзорҳо истифода баранд;
- дастгирии ҳама объектҳои Kubernetes, ки ба шумо имкон медиҳад, ки ҳама гуна мушкилотро ҳал кунед;
- Рӯйхати захираҳо бояд барои кори минбаъда зеркашӣ карда шаванд (дар ҷадвалҳои электронӣ, асбобҳои CLI ба монанди
grep
) ва нигоҳдорӣ (масалан, барои пас аз марг); - дастгирии интихоби захираҳо аз рӯи нишона (монанди
kubectl get .. -l
); - қобилияти эҷоди рӯйхати якҷояи намудҳои гуногуни захираҳо (монанди
kubectl get all
) барои ба даст овардани тасвири умумии амалиётӣ дар байни ҳамкорон (масалан, ҳангоми вокуниш ба ҳодиса); - қобилияти илова кардани истинодҳои амиқи интеллектуалии фармоишӣ ба дигар асбобҳо, аз қабили панелҳои идоракунӣ, сабткунандагон, феҳристи барномаҳо ва ғайра. мусоидат ба ҳалли мушкилот/ҳал кардани хатогиҳо ва вокуниш ба ҳодисаҳо;
- Пешниҳод бояд то ҳадди имкон содда бошад (HTML-и пок) барои пешгирӣ кардани мушкилоти тасодуфӣ, ба монанди JavaScript яхкардашуда;
- дастгирии кластерҳои сершумор барои содда кардани ҳамкорӣ ҳангоми машварати фосилавӣ (масалан, танҳо як URL дар хотир нигоҳ доштан);
- Агар имконпазир бошад, таҳлили вазъият бояд содда карда шавад (масалан, бо истинодҳо барои зеркашии захираҳо барои ҳама кластерҳо/фазоҳои ном);
- имкониятҳои иловагӣ барои эҷоди истинодҳои чандир ва таъкид иттилооти матнӣ, масалан, то ки шумо метавонед ҳамкоронро ба як бахши мушаххаси тавсифи манбаъ (хат дар YAML) нишон диҳед;
- қобилияти мутобиқсозӣ ба талаботи муштарии мушаххас, масалан, ба шумо имкон медиҳад, ки қолабҳои махсуси намоишӣ барои CRD-ҳо, намуди ҷадвали шахсии худ ва тағир додани услубҳои CSS эҷод кунед;
- асбобҳо барои таҳқиқи минбаъда дар сатри фармон (масалан, нишон додани фармонҳои пурра
kubectl
, барои нусхабардорӣ омода аст);
Ғайр аз вазифаҳое, ки дар Web View Kubernetes ҳал карда мешаванд (ғайриҳадафҳо) монд:
- абстраксияи объектҳои Kubernetes;
- идоракунии барномаҳо (масалан, идоракунии ҷойгиркунӣ, диаграммаҳои Helm ва ғайра);
- амалиёти навиштан (бояд тавассути абзорҳои бехатари CI/CD ва/ё GitOps анҷом дода шавад);
- интерфейси зебо (JavaScript, мавзӯъҳо ва ғайра);
- визуализатсия (ниг
kube-ops-назар ); - Таҳлили хароҷот (ниг
kube-resource-report ).
Чӣ тавр Kubernetes Web View дар дастгирӣ ва вокуниш ба ҳодисаҳо кӯмак мекунад?
таъмин
- Ҳама пайвандҳо доимӣ мебошанд, ки мубодилаи иттилоотро бо ҳамкорон осонтар мекунад.
- Шумо метавонед эҷод кунед андешаҳои шумо, масалан, ҳама Ҷойгиркунӣ ва Подҳоро бо нишони мушаххас дар ду кластери мушаххас намоиш диҳед (якчанд номҳои кластер ва намудҳои захираҳоро дар истиноди бо вергул ҷудо кардан мумкин аст).
- Шумо метавонед ба сатрҳои мушаххас дар файли YAML объект, ки мушкилоти эҳтимолиро дар мушаххасоти объект нишон медиҳад.
Ҷустуҷӯ аз рӯи кластерҳо дар Web View Kubernetes
Вокуниши ҳодиса
- Ҷустуҷӯи ҷаҳонӣ (ҷустуҷӯи ҷаҳонӣ) ба шумо имкон медиҳад, ки объектҳоро дар ҳама кластерҳо ҷустуҷӯ кунед.
- Рӯйхати Намоишҳо метавонад ҳама объектҳоро бо ҳолат/сутуни муайян дар ҳама кластерҳо нишон диҳад (масалан, мо бояд ҳамаи подкҳоро бо ҳолати "Интизорӣ" пайдо кунем).
- Рӯйхати объектҳоро зеркашӣ кардан мумкин аст дар формати аз ҷадвал ҷудошуда (TSV) барои таҳлили баъдӣ.
-
Истинодҳои берунии фармоишӣ Ба шумо имкон медиҳад, ки ба панелҳои дахлдор ва дигар асбобҳо гузаред.
Web View Kubernetes: рӯйхати поддонҳо бо ҳолати "Интизори" дар ҳама кластерҳо
Агар шумо хоҳед, ки Kubernetes Web View-ро санҷед, ман тавсия медиҳам, ки тафтиш кунед
Албатта, интерфейс метавонист беҳтар бошад, аммо ҳоло Kubernetes Web View як абзори "корбарони пешрафта" мебошад, ки дар ҳолати зарурӣ аз идора кардани роҳҳои URL дастӣ худдорӣ намекунанд. Агар шумо ягон шарҳ / иловаҳо / пешниҳодҳо дошта бошед, лутфан тамос гиред
Ин мақола таърихи мухтасари заминаест, ки боиси эҷоди Web View Kubernetes гардид. Бештар пайравӣ хоҳанд кард! (Шарҳ. тарҷума.: Онҳо бояд дар интизор шаванд
PS аз тарҷумон
Инчунин дар блоги мо хонед:
- «
kubebox ва дигар снарядҳо барои Kubernetes »; - «
Асбобҳо барои таҳиягарони барномаҳое, ки дар Kubernetes кор мекунанд »; - «
Барномаи консолҳои kubelive барои кори интерактивӣ бо Kubernetes пайдо шуд »; - «
Хидматҳои муфид ҳангоми кор бо Kubernetes ".
Манбаъ: will.com