Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Cathetan. nerjemahake.: Penulis materi asli yaiku Henning Jacobs saka Zalando. Dheweke nggawe antarmuka web anyar kanggo nggarap Kubernetes, sing dipanggonke minangka "kubectl kanggo web." Napa proyek Open Source anyar muncul lan kritéria apa sing ora ditemokake karo solusi sing wis ana - maca artikel kasebut.

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Ing kirim iki, aku nyemak macem-macem antarmuka web Kubernetes open source, nemtokake syarat kanggo UI universal, lan nerangake kenapa aku ngembangake. Kubernetes WebView - antarmuka sing dirancang kanggo nggampangake ndhukung lan ngatasi masalah sawetara klompok bebarengan.

Gunakake kasus

Ing Zalando, kita nglayani akeh pangguna Kubernetes (900+) lan kluster (100+). Ana sawetara kasus panggunaan umum sing bakal entuk manfaat saka alat web khusus:

  1. komunikasi karo kolega kanggo dhukungan;
  2. nanggapi kedadeyan lan nyelidiki panyebabe.

support

Ing pengalaman, komunikasi dhukungan asring katon kaya iki:

— Bantuan, layanan kita XYZ ora kasedhiya!
- Apa sing sampeyan deleng nalika nindakake kubectl describe ingress ...?

Utawa sing padha karo CRD:

- Aku duwe masalah karo layanan identifikasi ...
— Apa prentah ngasilake? kubectl describe platformcredentialsset ...?

Komunikasi kuwi biasane teka mudhun kanggo ngetik macem-macem variasi saka printah kubectl kanggo ngenali masalah. Akibaté, loro pihak ing obrolan dipeksa kanggo terus-terusan ngalih ing antarane terminal lan web chatting, plus padha mirsani kahanan sing beda.

Mulane, aku pengin frontend web Kubernetes ngidini ing ngisor iki:

  • pangguna bisa ijol-ijolan pranala lan mirsani bab sing padha;
  • bakal mbantu nyingkiri kesalahane manungsa ing dhukungan: contone, mlebu menyang cluster salah ing baris printah, typo ing printah CLI, etc.;
  • bakal ngidini generate views dhewe kanggo ngirim menyang kolega, yaiku, nambah kolom tag, nampilake akeh jinis sumber daya ing siji kaca;
  • Saenipun, alat web iki kudu ngidini sampeyan nyetel "jero" pranala menyang bagean tartamtu saka YAML (contone, nuduhake parameter sing salah sing nyebabake gagal).

Tanggapan lan analisis kedadeyan

Nanggapi prastawa prasarana mbutuhake kesadaran situasional, kemampuan kanggo ngevaluasi dampak, lan golek pola ing kluster. Sawetara conto urip nyata:

  • Layanan produksi kritis ngalami masalah lan sampeyan kudu temokake kabeh sumber daya Kubernetes kanthi jeneng ing kabeh klompokkanggo ngatasi masalah;
  • kelenjar wiwit tiba nalika njongko lan sampeyan kudu temokake kabeh polong kanthi status "Pending" ing kabeh klompokkanggo netepke orane katrangan saka masalah;
  • pangguna individu nglaporake masalah karo DaemonSet sing disebarake ing kabeh klompok lan kudu dipikirake Apa masalahe total?.

Solusi standar ing kasus kaya mengkono iku kaya for i in $clusters; do kubectl ...; done. Temenan, bisa uga ngembangake alat sing nyedhiyakake kemampuan sing padha.

Antarmuka web Kubernetes sing wis ana

Donya open source antarmuka web menyang Kubernetes ora gedhe banget *, mula aku nyoba ngumpulake informasi liyane nggunakake Twitter:

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

* Panjelasanku babagan jumlah antarmuka web sing winates kanggo Kubernetes: layanan maya lan vendor Kubernetes biasane nawakake frontend dhewe, saengga pasar kanggo UI Kubernetes gratis "apik" relatif cilik.

Liwat tweet aku sinau babagan K8Dash, Kubernator и oktan. Ayo dideleng lan solusi Open Source liyane sing wis ana, ayo nyoba ngerti apa iku.

K8Dash

"K8Dash minangka cara paling gampang kanggo ngatur kluster Kubernetes."

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

K8Dash Katon apik lan krasa cepet, nanging nduweni sawetara kekurangan kanggo kasus panggunaan sing kasebut ing ndhuwur:

  • Dianggo mung ing wates siji kluster.
  • Ngurutake lan nyaring bisa, nanging ora duwe permalinks.
  • Ora ana dhukungan kanggo Custom Resource Definition (CRDs).

Kubernator

"Kubernator minangka UI alternatif kanggo Kubernetes. Ora kaya Dasbor Kubernetes tingkat dhuwur, iki nyedhiyakake kontrol tingkat rendah lan visibilitas sing apik banget menyang kabeh obyek ing kluster kanthi kemampuan kanggo nggawe anyar, nyunting, lan ngrampungake konflik. Dadi aplikasi sisih klien kabeh (kaya kubectl), ora mbutuhake backend kajaba server API Kubernetes dhewe, lan uga ngajeni aturan akses kluster.

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Iki minangka katrangan sing cukup akurat Kubernator. Sayange, ora duwe sawetara fitur:

  • Serves mung siji kluster.
  • Ora ana mode tampilan dhaptar (yaiku, sampeyan ora bisa nampilake kabeh polong kanthi status "Pending").

Kubernetes Dashboard

"Dasbor Kubernetes minangka antarmuka web universal kanggo kluster Kubernetes. Iki ngidini pangguna ngatur lan ngatasi masalah aplikasi sing mlaku ing kluster, uga ngatur kluster kasebut dhewe.

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Sayange, Kubernetes Dashboard ora nulungi kegiatan dhukungan lan respon kedadeyan amarga:

  • ora ana pranala permanen, contone nalika aku nyaring sumber daya utawa ngganti urutan urutan;
  • ora ana cara sing gampang kanggo nyaring miturut status - contone, ndeleng kabeh polong kanthi status "Tunggu";
  • mung siji kluster sing didhukung;
  • CRD ora didhukung (fitur iki lagi dikembangake);
  • ora ana kolom khusus (kayata kolom sing diwenehi label miturut jinis kubectl -L).

Tampilan Operasional Kubernetes (kube-ops-view)

"System Dashboard Observer kanggo K8s Cluster Space."

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

У Tampilan Operasional Kubernetes Pendekatan sing beda banget: alat iki mung nuduhake simpul kluster lan polong nggunakake WebGL, tanpa rincian obyek teks. Iku apik kanggo Ringkesan cepet saka kesehatan kluster (pods Mudhun?) *, nanging ora cocok kanggo support lan nanggepi kasus nggunakake kasus kasebut ing ndhuwur.

* Cathetan. nerjemahake.: Ing pangertèn iki, sampeyan bisa uga kasengsem ing plugin kita grafana-statusmap, sing kita rembugan luwih rinci ing artikel iki.

Kubernetes Resource Report (kube-resource-report)

"Nglumpukake panjalukan sumber daya kluster pod lan Kubernetes, mbandhingake karo konsumsi sumber daya, lan ngasilake HTML statis."

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Laporan Sumber Daya Kubernetes ngasilake laporan HTML statis babagan panggunaan sumber daya lan distribusi biaya ing tim / aplikasi ing klompok. Laporan kasebut rada migunani kanggo dhukungan lan respon kedadeyan amarga ngidini sampeyan nemokake kluster kanthi cepet ing ngendi aplikasi kasebut disebarake.

Cathetan. nerjemahake.: Layanan lan alat bisa uga migunani kanggo ndeleng informasi babagan alokasi sumber daya lan biaya ing antarane panyedhiya awan Kubecost, kang kita review bubar diterbitake.

oktan

"Platform web sing bisa diperluas kanggo pangembang sing dirancang kanggo menehi pangerten luwih akeh babagan kerumitan kluster Kubernetes."

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

oktan, digawe dening VMware, minangka produk anyar sing aku sinau babagan relatif anyar. Kanthi bantuan, trep kanggo njelajah kluster ing mesin lokal (malah ana visualisasi), nanging ngatasi masalah dhukungan lan respon kedadeyan mung kanthi winates. Kekurangan Octant:

  • Ora ana telusuran klompok.
  • Dianggo mung ing mesin lokal (ora nyebar menyang kluster).
  • Ora bisa ngurutake/nyaring obyek (mung pamilih label sing didhukung).
  • Sampeyan ora bisa nemtokake kolom khusus.
  • Sampeyan ora bisa ndhaftar obyek miturut namespace.

Aku uga duwe masalah karo stabilitas Octant karo klompok Zalando: ing sawetara CRDs dheweke tiba.

Ngenalke Kubernetes Web View

"kubectl kanggo web".

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)

Sawise nganalisa opsi antarmuka sing kasedhiya kanggo Kubernetes, aku mutusake nggawe sing anyar: Kubernetes WebView. Sawise kabeh, nyatane, aku mung butuh kabeh kekuwatan kubectl ing web, yaiku:

  • kasedhiyan kabeh operasi (mung diwaca) sing pangguna luwih seneng nggunakake kubectl;
  • kabeh URL kudu permanen lan makili kaca ing wangun asline supaya kolega bisa nuduhake lan digunakake ing piranti liyane;
  • dhukungan kanggo kabeh obyek Kubernetes, sing bakal ngidini sampeyan ngatasi masalah apa wae;
  • dhaptar sumber daya kudu didownload kanggo karya luwih lanjut (ing spreadsheet, alat CLI kaya grep) lan panyimpenan (contone, kanggo postmortems);
  • dhukungan kanggo milih sumber daya kanthi label (padha karo kubectl get .. -l);
  • kemampuan kanggo nggawe dhaptar gabungan saka macem-macem jinis sumber daya (padha karo kubectl get all) kanggo entuk gambaran operasional sing umum ing antarane kanca-kanca (contone, sajrone nanggepi kedadeyan);
  • kemampuan kanggo nambah pranala jero pinter adat kanggo piranti liyane kayata dashboards, loggers, registries aplikasi, etc. kanggo nggampangake ngatasi masalah / ngrampungake kesalahan lan nanggapi kedadeyan;
  • Frontend kudu sesederhana mungkin (HTML murni) kanggo nyegah masalah acak, kayata JavaScript beku;
  • dhukungan kanggo macem-macem klompok kanggo nyederhanakake interaksi sajrone konsultasi remot (contone, mung ngelingi siji URL);
  • Yen bisa, analisis situasional kudu disederhanakake (contone, kanthi pranala kanggo ngundhuh sumber daya kanggo kabeh klompok / ruang jeneng);
  • kesempatan tambahan kanggo nggawe pranala fleksibel lan nyorot informasi teks, contone, supaya sampeyan bisa ngarahake kolega menyang bagean tartamtu ing gambaran sumber (baris ing YAML);
  • kemampuan kanggo ngatur kanggo syarat klien tartamtu, contone, ngijini sampeyan kanggo nggawe template tampilan khusus kanggo CRDs, tampilan meja dhewe, lan ngganti gaya CSS;
  • alat kanggo eksplorasi luwih lanjut ing baris printah (contone, nuduhake printah lengkap kubectl, siap kanggo nyalin);

Ngluwihi tugas sing ditanggulangi ing Kubernetes Web View (non-gol) tetep:

  • abstraksi obyek Kubernetes;
  • manajemen aplikasi (contone, manajemen penyebaran, denah Helm, lsp);
  • operasi nulis (kudu ditindakake liwat piranti CI/CD lan/utawa GitOps sing aman);
  • antarmuka sing apik (JavaScript, tema, lsp);
  • visualisasi (waca kube-ops-view);
  • analisis biaya (ndeleng kube-resource-report).

Kepiye Kubernetes Web View mbantu dhukungan lan respon kedadeyan?

support

  • Kabeh pranala permanen, sing nggawe luwih gampang kanggo ijol-ijolan informasi karo kolega.
  • Sampeyan bisa nggawe gagasan sampeyan, contone, nampilake kabeh Deployment lan Pods kanthi label tartamtu ing rong klompok tartamtu (sawetara jeneng cluster lan jinis sumber bisa ditemtokake ing link, dipisahake dening koma).
  • Sampeyan bisa ngrujuk baris tartamtu ing file YAML obyek, nuduhake masalah potensial ing specification obyek.

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)
Telusuri miturut kluster ing Kubernetes Web View

Tanggap kedadean

  • Panelusuran global (goleki global) ngidini sampeyan nggoleki obyek ing kabeh klompok.
  • Dhaptar Views bisa nampilake kabeh obyek karo negara tartamtu / kolom ing kabeh kluster (Contone, kita kudu golek kabeh pods karo status "Pending").
  • Dhaptar obyek bisa diundhuh ing format tab-separated value (TSV) kanggo analisis mengko.
  • pranala njaba Customizable Ngidini sampeyan ngalih menyang dashboard sing gegandhengan lan alat liyane.

Pengumuman Tampilan Web Kubernetes (lan ringkesan ringkesan UI web liyane kanggo Kubernetes)
Kubernetes Web View: dhaptar polong kanthi status "Pending" ing kabeh klompok

Yen sampeyan pengin nyoba Kubernetes Web View, aku nyaranake mriksa metu dokumentasi utawa katon ing demo urip.

Mesthi wae, antarmuka bisa luwih apik, nanging saiki Kubernetes Web View minangka alat kanggo "pangguna lanjutan" sing ora isin saka manipulasi jalur URL kanthi manual yen perlu. Yen sampeyan duwe komentar / tambahan / saran, hubungi karo aku ing Twitter!

Artikel iki minangka riwayat singkat latar mburi sing mimpin kanggo nggawe Kubernetes Web View. More bakal tindakake! (Cathetan. nerjemahake.: Padha kudu samesthine ing blog penulis.)

PS saka penerjemah

Waca uga ing blog kita:

Source: www.habr.com

Add a comment