Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Remak. trad.: Otè a nan materyèl orijinal la se Henning Jacobs soti nan Zalando. Li te kreye yon nouvo koòdone entènèt pou travay ak Kubernetes, ki pozisyone kòm "kubectl pou entènèt la." Poukisa yon nouvo pwojè Open Source parèt ak ki kritè solisyon ki egziste deja yo pa satisfè - li atik li a.

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Nan pòs sa a, mwen revize plizyè koòdone entènèt sous louvri Kubernetes, mete egzijans mwen pou yon UI inivèsèl, epi eksplike poukisa mwen devlope Kubernetes WebView — yon koòdone ki fèt pou rann li pi fasil pou sipòte ak depanaj plizyè gwoup nan yon fwa.

Sèvi ak ka yo

Nan Zalando nou sèvi yon gwo kantite itilizatè Kubernetes (900+) ak grap (100+). Gen yon koup nan ka itilizasyon komen ki ta benefisye de yon zouti entènèt dedye:

  1. kominikasyon ak kòlèg pou sipò;
  2. reponn a ensidan yo epi mennen ankèt sou kòz yo.

Sipòte

Dapre eksperyans mwen, kominikasyon sipò yo sanble souvan tankou sa a:

— Ede, sèvis XYZ nou an pa disponib!
— Kisa ou wè lè ou fè kubectl describe ingress ...?

Oswa yon bagay ki sanble pou CRD:

— Mwen gen kèk pwoblèm ak sèvis idantifikasyon an...
— Kisa kòmandman an pwodui? kubectl describe platformcredentialsset ...?

Kominikasyon sa a anjeneral vini nan antre divès varyasyon nan lòd la kubectl yo nan lòd yo idantifye pwoblèm nan. Kòm yon rezilta, tou de pati yo nan konvèsasyon an oblije toujou ap chanje ant tèminal la ak chat entènèt la, plis yo obsève yon sitiyasyon diferan.

Se poutèt sa, mwen ta renmen entèfas entènèt Kubernetes pèmèt sa ki annapre yo:

  • itilizatè yo te kapab echanj lyen epi obsève menm bagay la;
  • ta ede evite erè imen nan sipò: pou egzanp, konekte nan gwoup la mal sou liy lan lòd, typos nan kòmandman CLI, elatriye;
  • ta pèmèt jenere pwòp opinyon ou voye bay kòlèg yo, se sa ki, ajoute kolòn nan tags, montre anpil kalite resous sou yon paj;
  • Idealman, zouti entènèt sa a ta dwe pèmèt ou mete "gwo twou san fon" lyen ki mennen nan seksyon espesifik YAML (pa egzanp, montre yon paramèt kòrèk ki lakòz echèk).

Repons ak analiz ensidan

Reponn a ensidan enfrastrikti mande pou konesans sitiyasyon, kapasite pou evalye enpak, epi chèche modèl nan grap. Kèk egzanp lavi reyèl:

  • Yon sèvis pwodiksyon kritik gen pwoblèm epi ou bezwen jwenn tout resous Kubernetes pa non nan tout gwoup yopou rezoud pwoblèm;
  • nœuds kòmanse tonbe lè dekale epi ou bezwen jwenn tout gous ki gen estati "Antant" nan tout grap yopou evalye dimansyon pwoblèm nan;
  • itilizatè endividyèl yo rapòte yon pwoblèm ak DaemonSet deplwaye atravè tout gwoup epi yo bezwen kalkile Èske pwoblèm nan total?.

Solisyon estanda mwen an nan ka sa yo se yon bagay tankou for i in $clusters; do kubectl ...; done. Li evidan, yon zouti ta ka devlope ki bay kapasite menm jan an.

Koòdone entènèt Kubernetes ki egziste deja

Mond sous ouvè a nan entèfas entènèt nan Kubernetes pa trè gwo *, kidonk mwen te eseye rasanble plis enfòmasyon lè l sèvi avèk Twitter:

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

*Eksplikasyon mwen an pou kantite limite entèfas entènèt pou Kubernetes: sèvis nwaj ak machann Kubernetes anjeneral ofri pwòp entèfas yo, kidonk mache a pou "bon" gratis Kubernetes UI relativman piti.

Atravè yon tweet mwen te aprann sou K8Dash, Kubernator и Octant. Ann gade yo ak lòt solisyon Open Source ki egziste deja, ann eseye konprann sa yo ye.

K8Dash

"K8Dash se fason ki pi senp pou jere yon gwoup Kubernetes."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

K8Dash Li sanble bon epi li santi l vit, men li gen yon kantite dezavantaj pou ka itilize yo ki nan lis pi wo a:

  • Travay sèlman nan limit yo nan yon gwoup.
  • Triye ak filtraj posib, men yo pa gen lyen pèmanan.
  • Pa gen sipò pou Definisyon Resous Custom (CRD).

Kubernator

"Kubernator se yon entèfas altènatif pou Kubernetes. Kontrèman ak Kubernetes Dashboard wo nivo a, li bay kontwòl nivo ba ak ekselan vizibilite nan tout objè nan gwoup la ak kapasite nan kreye nouvo, modifye yo, epi rezoud konfli. Lè yon aplikasyon totalman bò kliyan (tankou kubectl), li pa mande pou okenn backend ki pa sèvè API Kubernetes li menm, epi tou li respekte règ aksè gwoup."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Sa a se yon deskripsyon trè egzat Kubernator. Malerezman, li manke kèk karakteristik:

  • Sèvi sèlman yon gwoup.
  • Pa gen okenn mòd gade lis (sa vle di, ou pa ka montre tout gous ki gen estati "Annatant").

Kubernetes Dachbord

"Kubernetes Dashboard se yon koòdone entènèt inivèsèl pou gwoup Kubernetes. Li pèmèt itilizatè yo jere ak rezoud pwoblèm aplikasyon ki kouri nan yon gwoup, osi byen ke jere gwoup la tèt li."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Malerezman, Kubernetes Dachbord pa vrèman ede ak sipò mwen ak aktivite repons ensidan paske li:

  • pa gen lyen pèmanan, pou egzanp lè mwen filtre resous oswa chanje lòd la sòt;
  • pa gen okenn fason fasil pou filtre pa estati - pou egzanp, gade tout gous ki gen estati "Annatant" la;
  • se sèlman yon gwoup ki sipòte;
  • CRD yo pa sipòte (karakteristik sa a se sou devlopman);
  • pa gen kolòn koutim (tankou kolòn ki make pa kalite kubectl -L).

Kubernetes Operational View (kube-ops-view)

"System Dashboard Observer pou K8s Cluster Space."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

У Kubernetes Operasyon View Yon apwòch konplètman diferan: zouti sa a sèlman montre nœuds gwoup ak gous lè l sèvi avèk WebGL, san okenn detay objè tèks. Li bon pou yon apèsi rapid sou sante gwoup la (eske gous yo tonbe?)*, men li pa apwopriye pou sipò ak ka itilizasyon repons ensidan yo dekri pi wo a.

* Remak. trad.: Nan sans sa a, ou ka enterese tou nan plugin nou an grafana-statusmap, ki nou te pale sou an plis detay nan atik sa a.

Rapò Resous Kubernetes (rapò-resous-kube)

"Kolekte demann resous pod ak Kubernetes gwoup, konpare yo ak konsomasyon resous, epi jenere HTML estatik."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Rapò Resous Kubernetes jenere rapò HTML estatik sou itilizasyon resous ak distribisyon pri atravè ekip/aplikasyon nan gwoup. Rapò a se yon ti jan itil pou sipò ak repons ensidan paske li pèmèt ou byen vit jwenn gwoup la kote aplikasyon an deplwaye.

Remak. trad.: Yon sèvis ak zouti ka itil tou pou gade enfòmasyon sou alokasyon resous yo ak depans yo nan mitan founisè nwaj yo. Kubecost, ke nou revize pibliye dènyèman.

Octant

"Yon platfòm entènèt extensible pou devlopè ki fèt pou bay pi gwo konpreyansyon sou konpleksite gwoup Kubernetes yo."

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Octant, ki te kreye pa VMware, se yon nouvo pwodwi ke mwen te aprann sou relativman dènyèman. Avèk èd li, li bon pou eksplore gwoup la sou yon machin lokal (gen menm vizyalizasyon), men li adrese pwoblèm sipò ak repons ensidan sèlman nan yon limit limite. Dezavantaj nan Octant:

  • Pa gen rechèch gwoup.
  • Travay sèlman sou machin lokal la (pa deplwaye nan yon gwoup).
  • Pa ka klase/filtre objè (se sèlman seleksyon etikèt ki sipòte).
  • Ou pa ka presize kolòn koutim.
  • Ou pa kapab lis objè pa espas non.

Mwen menm mwen te gen pwoblèm ak estabilite nan Octant ak Zalando grap: sou kèk CRDs li tap tonbe.

Entwodwi Kubernetes Web View

"kubectl pou entènèt la".

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)

Apre analize opsyon koòdone ki disponib pou Kubernetes, mwen deside kreye yon nouvo: Kubernetes WebView. Apre yo tout, an reyalite, mwen jis bezwen tout pouvwa a kubectl sou entènèt la, sètadi:

  • disponiblite tout operasyon (sèlman pou lekti) pou itilizatè yo prefere itilize kubectl;
  • tout URL yo dwe pèmanan epi reprezante paj la nan fòm orijinal li pou kòlèg yo ka pataje yo epi sèvi ak yo nan lòt zouti;
  • sipò pou tout objè Kubernetes, ki pral pèmèt ou rezoud nenpòt kalite pwoblèm;
  • lis resous yo ta dwe telechaje pou plis travay (nan calcul, zouti CLI tankou grep) ak depo (pa egzanp, pou postmortems);
  • sipò pou chwazi resous pa etikèt (menm jan ak kubectl get .. -l);
  • kapasite pou kreye lis konbine divès kalite resous (menm jan ak kubectl get all) pou jwenn yon foto operasyon komen pami kòlèg yo (pa egzanp, pandan yon repons ensidan);
  • kapasite pou ajoute koutim lyen pwofon entelijan nan lòt zouti tankou tablodbò, loggers, rejis aplikasyon, elatriye. pou fasilite depanaj/rezoud erè epi reponn a ensidan yo;
  • Frontend la ta dwe senp ke posib (pi HTML) pou evite pwoblèm o aza, tankou JavaScript jele;
  • sipò pou plizyè gwoup pou senplifye entèraksyon pandan konsiltasyon aleka (pa egzanp, sonje yon sèl URL);
  • Si sa posib, analiz sitiyasyon yo ta dwe senplifye (pa egzanp, avèk lyen pou telechaje resous pou tout gwoup/espas non);
  • opòtinite adisyonèl pou kreye lyen fleksib ak mete aksan sou enfòmasyon tèks, pou egzanp, pou ou ka montre kòlèg yo nan yon seksyon espesifik nan deskripsyon resous la (yon liy nan YAML);
  • kapasite nan Customize nan kondisyon yo nan yon kliyan espesifik, pou egzanp, ki pèmèt ou kreye modèl ekspozisyon espesyal pou CRDs, opinyon pwòp tab ou a, ak chanje estil CSS;
  • zouti pou plis eksplorasyon sou liy lòd la (pa egzanp, montre kòmandman konplè kubectl, pare pou kopye);

Pi lwen pase travay yo rezoud nan Kubernetes Web View (ki pa objektif) rete:

  • abstraksyon nan objè Kubernetes;
  • jesyon aplikasyon (pa egzanp, jesyon deplwaman, tablo Helm, elatriye);
  • operasyon ekri (yo dwe fè atravè zouti ki an sekirite CI/CD ak/oswa GitOps);
  • bèl koòdone (JavaScript, tèm, elatriye);
  • vizyalizasyon (gade kube-ops-view);
  • analiz pri (gade kube-resous-rapò).

Ki jan Kubernetes Web View ede ak sipò ak repons ensidan?

Sipòte

  • Tout lyen yo pèmanan, ki fè li pi fasil pou fè echanj enfòmasyon ak kòlèg li yo.
  • Ou ka kreye lide ou yo, pou egzanp, montre tout Deplwaman ak Pods ak yon etikèt espesifik nan de grap espesifik (yo ka espesifye plizyè non gwoup ak kalite resous nan lyen an, separe pa vigil).
  • Ou ka fè referans a liy espesifik nan yon dosye YAML objè, ki endike pwoblèm potansyèl nan spesifikasyon objè a.

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)
Rechèch pa grap nan Kubernetes Web View

Repons ensidan

  • Rechèch mondyal (rechèch mondyal) pèmèt ou chèche objè nan tout grap yo.
  • Lis View ka montre tout objè ki gen yon sèten eta / kolòn nan tout grap (pa egzanp, nou bezwen jwenn tout gous ak estati "Annatant").
  • Lis objè yo ka telechaje nan fòma valè tab-separe (TSV) pou analiz pita.
  • Customizable lyen ekstèn Pèmèt ou chanje nan tablodbò ki gen rapò ak lòt zouti.

Anons nan View Web Kubernetes (ak yon ti apèsi sou lòt UIs entènèt pou Kubernetes)
Kubernetes Web View: lis gous ak estati "Antant" nan tout gwoup yo

Si ou vle eseye Kubernetes Web View, mwen rekòmande tcheke deyò dokimantasyon oswa gade viv demonstrasyon.

Natirèlman, koòdone a ta ka pi bon, men pou kounye a Kubernetes Web View se yon zouti pou "itilizatè avanse" ki pa timid pou manipile chemen URL manyèlman si sa nesesè. Si w gen nenpòt kòmantè / adisyon / sijesyon, tanpri kontakte avèk mwen sou Twitter!

Atik sa a se yon istwa tou kout sou background ki te mennen nan kreyasyon Kubernetes Web View. Plis pral swiv! (Remak. trad.: Yo ta dwe espere nan blog otè a.)

PS soti nan tradiktè a

Li tou sou blog nou an:

Sous: www.habr.com

Add nouvo kòmantè