Ringkesan GUI kanggo Kubernetes

Ringkesan GUI kanggo Kubernetes

Kanggo karya lengkap karo sistem, kawruh babagan utilitas baris perintah penting: ing kasus Kubernetes, iki kubectl. Ing sisih liya, antarmuka grafis sing dirancang kanthi apik lan apik bisa ditindakakeоpaling saka tugas biasanipun lan mbukak munggah kesempatan tambahan kanggo operasi sistem.

Taun kepungkur kita nerbitake terjemahan ringkesan cilik UI web kanggo Kubernetes, wektune pas karo woro-woro antarmuka web Kubernetes WebView. Penulis artikel kasebut lan sarana kasebut, Henning Jacobs saka Zalando, mung nempatake produk anyar minangka "kubectl kanggo web". Dheweke pengin nggawe alat kanthi kemampuan pangguna-loropaken kanggo interaksi ing format dhukungan teknis (contone, kanthi cepet nuduhake masalah karo link web) lan kanggo nanggapi kedadeyan, nggoleki masalah ing akeh klompok bebarengan. Anak-anake ing wektu saiki berkembang (utamane kanthi upaya saka penulis dhewe).

Nalika kita nglayani akeh klompok Kubernetes saka macem-macem ukuran, kita uga kasengsem bisa nyedhiyakake alat visual kanggo para pelanggan. Nalika milih antarmuka sing cocog, fitur ing ngisor iki minangka kunci kanggo kita:

  • dhukungan kanggo diferensiasi hak pangguna (RBAC);
  • visualisasi saka negara namespace lan primitif Kubernetes standar (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • entuk akses menyang baris printah ing polong;
  • ndeleng log saka pods;
  • ndeleng status polong (describe status);
  • njabut pods.

Fungsi liyane, kayata ndeleng sumber daya sing dikonsumsi (ing konteks pod / pengontrol / ruang jeneng), nggawe / nyunting primitif K8s, ora cocog ing alur kerja kita.

Kita bakal miwiti review nganggo Dashboard Kubernetes klasik, sing dadi standar kita. Wiwit donya ora mandheg (sing tegese Kubernetes duwe GUI sing luwih anyar), kita uga bakal ngomong babagan alternatif saiki, ngringkes kabeh ing tabel komparatif ing pungkasan artikel.

NB: Ing review, kita ora bakal mbaleni karo sing solusi sing wis dianggep ing artikel pungkasanNanging, kanggo jangkep, pilihan sing cocog saka iku (K8Dash, Octant, Kubernetes Web View) kalebu ing tabel pungkasan.

1. Dashboard Kubernetes

  • Halaman dokumentasi;
  • gudang (8000+ lintang GitHub);
  • Lisensi: Apache 2.0;
  • Singkat: "Antarmuka web universal kanggo kluster Kubernetes. Iki ngidini pangguna ngatur lan ngatasi masalah aplikasi sing mlaku ing kluster, uga ngatur kluster kasebut dhewe.

Ringkesan GUI kanggo Kubernetes

Iki minangka panel tujuan umum sing dilindhungi dening penulis Kubernetes ing dokumentasi resmi (nanging non-deployable gawan). Iki dirancang kanggo kabutuhan operasi saben dina lan debugging aplikasi ing kluster. Ing omah, kita nggunakake minangka alat visual entheng lengkap sing ngidini kita nyedhiyakake pangembang kanthi akses sing dibutuhake lan cukup menyang kluster. Kapabilitas nyakup kabeh kabutuhan sing muncul ing proses nggunakake kluster (ing artikel iki kita nuduhake sawetara fitur saka panel). Kaya sing sampeyan duga, iki tegese nyukupi kabeh syarat sing kadhaptar ing ndhuwur.

Antarane fitur utama Dashboard Kubernetes:

  • Navigasi: ndeleng obyek utama K8s ing konteks namespaces.
  • Yen sampeyan duwe hak administrator, panel nuduhake simpul, spasi jeneng, lan Volume Persistent. Kanggo simpul, statistik kasedhiya babagan panggunaan memori, prosesor, alokasi sumber daya, metrik, status, acara, lsp.
  • Deleng aplikasi sing disebarake ing ruang jeneng miturut jinise (Deployment, StatefulSet, lsp.), Hubungane ing antarane (ReplicaSet, Horizontal Pod Autoscaler), statistik lan informasi umum lan pribadi.
  • Deleng layanan lan Ingresses, uga hubungane karo polong lan titik pungkasan.
  • Deleng obyek lan panyimpenan file: Volume Persistent lan Klaim Volume Persisten.
  • Deleng lan sunting ConfigMap lan Rahasia.
  • Ndeleng log.
  • akses baris printah ing kontaner.

A drawback pinunjul (Nanging, ora kanggo kita) iku ora support kanggo karya multi-cluster. Proyek iki dikembangake kanthi aktif dening komunitas lan njaga fitur sing cocog karo rilis versi anyar lan spesifikasi API Kubernetes: versi panel paling anyar yaiku v2.0.1 22 Mei 2020 - Diuji kompatibilitas karo Kubernetes 1.18.

2. Jarak

Ringkesan GUI kanggo Kubernetes

Proyek kasebut dipanggonke minangka lingkungan pangembangan terpadu (IDE) lengkap kanggo Kubernetes. Kajaba iku, dioptimalake kanggo nggarap akeh klompok lan akeh polong sing mlaku ing kono (dites ing 25 polong).

Fitur utama / kapabilitas Lensa:

  • Aplikasi mandiri sing ora mbutuhake instalasi apa wae ing kluster (luwih tepat, Prometheus bakal dibutuhake kanggo entuk kabeh metrik, nanging instalasi sing ana uga bisa digunakake kanggo iki). Instalasi "utama" digawe ing komputer pribadi sing nganggo Linux, macOS utawa Windows.
  • Manajemen multi-cluster (ratusan kluster didhukung).
  • Visualisasi kahanan kluster ing wektu nyata.
  • Grafik panggunaan sumber daya lan tren kanthi riwayat adhedhasar Prometheus sing dibangun.
  • Akses menyang baris printah saka wadhah lan ing simpul kluster.
  • Dhukungan lengkap kanggo Kubernetes RBAC.

Rilis saiki - 3.5.0 tanggal 16 Juni 2020 Asli digawe dening Kontena, saiki kabeh kekayaan intelektual wis ditransfer menyang organisasi khusus Lakeland Labs, disebut "union geeks native maya lan technologists", kang tanggung jawab kanggo "pengawetan lan kasedhiyan piranti lunak lan produk Open Source Kontena."

Lens minangka proyek paling populer nomer loro ing GitHub saka GUI kanggo kategori Kubernetes, "kalah" mung Dashboard Kubernets dhewe. Kabeh solusi Open Source liyane sing dudu saka kategori CLI* luwih murah tinimbang popularitas.

* Waca babagan K9s ing bagean bonus review.

3. Kubernetik

Ringkesan GUI kanggo Kubernetes

Iki minangka aplikasi proprietary sing diinstal ing komputer pribadi (Linux, macOS, Windows didhukung). Penulis sawijining janji panggantos lengkap sarana baris printah, lan karo - ora perlu kanggo elinga printah lan malah nambah sepuluh kaping ing kacepetan.

Salah sawijining fitur menarik saka alat kasebut yaiku dhukungan sing dibangun kanggo grafik Helm, lan salah sawijining kekurangan yaiku kekurangan metrik kinerja aplikasi.

Fitur utama Kubernetic:

  • Tampilan trep saka status cluster. Siji layar kanggo ndeleng kabeh obyek kluster sing gegandhengan lan dependensi; status kesiapan abang / ijo kanggo kabeh obyek; mode tampilan status cluster kanthi nganyari status wektu nyata.
  • Tombol tumindak cepet kanggo mbusak lan skala aplikasi.
  • Dhukungan kanggo operasi multi-cluster.
  • Karya prasaja karo namespaces.
  • Dhukungan kanggo denah Helm lan repositori Helm (kalebu pribadi). Nginstal lan ngatur grafik ing antarmuka web.

Biaya produk saiki yaiku pembayaran siji-wektu 30 euro kanggo panggunaan siji wong kanggo sawetara ruang jeneng lan klompok.

4. Kuwi

  • situs;
  • Presentasi;
  • gudang (~500 lintang GitHub);
  • Lisensi: Apache 2.0
  • Singkat: "Kubevious ndadekake kluster Kubernetes, konfigurasi aplikasi lan ndeleng status aman lan gampang dingerteni."

Ringkesan GUI kanggo Kubernetes

Gagasan proyek kasebut yaiku nggawe alat sing dirancang kanggo nganalisa lan debug konfigurasi aplikasi sing dipasang ing kluster. Penulis fokus utamane ing implementasine fitur kasebut, ninggalake perkara sing luwih umum kanggo mengko.

Fitur lan fungsi utama Kubevious:

  • Visualisasi kluster kanthi cara aplikasi-sentris: obyek sing gegandhengan ing antarmuka diklompokaké, disusun ing hirarki.
  • Tampilan visual saka dependensi ing konfigurasi lan konsekuensi cascading saka owah-owahan sing.
  • Tampilan kesalahan konfigurasi kluster: nyalahi panggunaan label, port sing ora kejawab, lsp. (Oalah, yen sampeyan kasengsem ing fitur iki, mbayar manungsa waé kanggo Polarisbab kang kita wis nulis.)
  • Saliyane titik sadurunge, deteksi kontaner potensial mbebayani kasedhiya, i.e. gadhah kakehan hak istimewa (atribut hostPID, hostNetwork, hostIPC, gunungan docker.sock lsp).
  • Sistem telusuran majeng kanggo kluster (ora mung kanthi jeneng obyek, nanging uga kanthi sifate).
  • Piranti kanggo perencanaan kapasitas lan optimalisasi sumber daya.
  • "Mesin wektu" sing dibangun (kemampuan kanggo ndeleng owah-owahan sadurunge ing konfigurasi obyek).
  • Manajemen RBAC kanthi tabel pivot sing saling gegandhengan karo Peran, RoleBindings, ServiceAccounts.
  • Bisa dianggo mung siji kluster.

Proyèk kasebut nduweni sejarah sing cendhak banget (rilis pisanan ditindakake tanggal 11 Februari 2020) lan kayane wis ana periode stabilisasi utawa kalem ing pembangunan. Yen versi sadurungé kerep dirilis, banjur rilis paling anyar (v0.5 April 15, 2020) wis ketinggalan ing langkah awal pembangunan. Iki mbokmenawa amarga jumlah kontributor cilik: mung ana 4 ing sajarah gudang, lan kabeh karya nyata ditindakake dening wong siji.

5. Kubewise

  • Kaca Proyek;
  • Lisensi: proprietary (bakal dadi Open Source);
  • Singkat: "Klien multi-platform sing prasaja kanggo Kubernetes."

Ringkesan GUI kanggo Kubernetes

Produk anyar saka VMware, asline digawe minangka bagean saka hackathon internal (ing Juni 2019). Diinstal ing komputer pribadi, dianggo ing basis saka Elektron (Linux, macOS lan Windows didhukung) lan mbutuhake kubectl v1.14.0 utawa luwih anyar.

Fitur utama Kubewise:

  • Interaksi antarmuka karo entitas Kubernetes sing paling umum digunakake: simpul, spasi jeneng, lsp.
  • Dhukungan kanggo macem-macem file kubeconfig kanggo macem-macem klompok.
  • Terminal kanthi kemampuan kanggo nyetel variabel lingkungan KUBECONFIG.
  • Gawe file kubeconfig khusus kanggo ruang jeneng sing diwenehake.
  • Fitur keamanan canggih (RBAC, sandhi, akun layanan).

Nganti saiki, proyek kasebut mung duwe siji rilis - versi 1.1.0 tanggal 26 November 2019. Menapa malih, penulis ngrancang kanggo langsung ngeculake minangka Open Source, nanging amarga masalah internal (ora ana hubungane karo masalah teknis) dheweke ora bisa nindakake iki. Ing Mei 2020, penulis nggarap rilis sabanjure lan kudu miwiti proses mbukak kode bebarengan.

6. OpenShift Console

Ringkesan GUI kanggo Kubernetes

Senadyan kasunyatan manawa antarmuka web iki minangka bagean saka distribusi OpenShift (dipasang ing kana nggunakake operator khusus), pengarang kasedhiya kanggo kemampuan kanggo nginstal / nggunakake ing normal (vanili) panginstalan Kubernetes.

OpenShift Console wis suwe dikembangake, saengga wis nggabungake akeh fitur. Kita bakal sebutno sing utama:

  • Pendekatan antarmuka sing dienggo bareng - loro "perspektif" saka kemungkinan sing kasedhiya ing Console: kanggo pangurus lan pangembang. Mode perspektif pangembang kelompok obyek ing wangun sing luwih dingerteni kanggo pangembang (dening aplikasi) lan fokus antarmuka ing mecahaken tugas khas kayata aplikasi deploying, nelusuri mbangun / status panyebaran, lan malah kode editing liwat Eclipse Che.
  • Manajemen beban kerja, jaringan, panyimpenan, hak akses.
  • Pemisahan logis kanggo beban kerja menyang proyek lan aplikasi. Ing salah sawijining rilis paling anyar - v4.3 - muncul khusus dashboard proyek, sing nampilake data biasa (nomer lan status penyebaran, polong, lsp.; konsumsi sumber daya lan metrik liyane) ing irisan proyek.
  • Dianyari ing tampilan wektu nyata saka negara kluster, owah-owahan (acara) sing wis dumadi ing; ndeleng log.
  • Deleng data pemantauan adhedhasar Prometheus, Alertmanager lan Grafana.
  • Manajemen operator diwakili ing operatorhub.
  • Ngatur mbangun sing mbukak liwat Docker (saka repositori sing ditemtokake karo Dockerfile), S2I utawa utilitas njaba kasepakatan.

NB: Kita ora nambah liyane kanggo comparison Distribusi Kubernetes (contone, sing kurang dikenal Kubesphere): senadyan kasunyatan sing GUI bisa banget majeng ing wong-wong mau, biasane teka minangka bagéan saka tumpukan terpadu saka sistem gedhe. Nanging, yen sampeyan mikir sing ana ora cukup solusi sing kebak dienggo ing instalasi vanilla K8s, supaya kita ngerti ing komentar.

Bonus

1. Portainer ing Kubernetes ing Beta

  • situs;
  • gudang (~100 lintang GitHub);
  • Lisensi: Zlib(?) (padha kanggo proyek induk).

Proyek saka tim Portainer, sing ngembangake antarmuka populer kanthi jeneng sing padha kanggo nggarap Docker. Wiwit proyek kasebut ana ing tahap awal pangembangan (versi beta pisanan lan mung medal 16 April 2020), kita ora ngevaluasi fitur-fitur kasebut. Nanging, bisa uga menarik kanggo akeh: yen iki babagan sampeyan, tindakake perkembangan kasebut.

2. IcePanel

  • situs;
  • Lisensi: proprietary;
  • Ing cendhak: "Visual Kubernetes Editor".

Ringkesan GUI kanggo Kubernetes

Aplikasi desktop enom iki nduweni tujuan kanggo nggambarake lan ngatur sumber daya Kubernetes ing wektu nyata kanthi antarmuka seret & selehake sing prasaja. Objek sing saiki didhukung yaiku Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap lan Secret. Ora suwe dheweke janji bakal nambah dhukungan kanggo Helm. Kerugian utama yaiku cedhake kode (karepane mbukak "ing sawetara cara") lan kurang dhukungan Linux (nganti saiki mung versi Windows lan macOS sing kasedhiya, sanajan iki uga mung sawetara wektu).

3. k9s

  • situs;
  • Demonstrasi;
  • gudang (~7700 lintang GitHub);
  • Lisensi: Apache 2.0;
  • Singkat: "Antarmuka konsol kanggo Kubernetes sing ngidini sampeyan ngatur kluster kanthi gaya."

Ringkesan GUI kanggo Kubernetes

Utilitas kasebut mung ana ing bagean bonus review amarga nawakake GUI konsol. Nanging, penulis secara harfiah squeezed maksimum metu saka terminal, nawakake ora mung antarmuka pangguna-loropaken, nanging uga 6 tema sing wis ditemtokake, lan sistem majeng trabasan keyboard lan alias printah. Pendekatan sing lengkap ora diwatesi karo tampilan: fitur k9s nyengsemaken: manajemen sumber daya, nampilake negara klompok, nampilake sumber daya ing perwakilan hirarkis kanthi dependensi, ndeleng log, dhukungan RBAC, nambah kemampuan liwat plugin ... menyang komunitas K8s sing amba: jumlah bintang GitHub proyek meh padha karo Dashboard Kubernetes resmi!

4. Panel kontrol aplikasi

Lan ing mburi review - mini-kategori kapisah. Iki kalebu loro antarmuka web sing dirancang ora kanggo manajemen komprehensif klompok Kubernetes, nanging kanggo ngatur apa sing disebarake.

Kaya sing sampeyan ngerteni, salah sawijining alat sing paling diwasa lan nyebar kanggo nyebarake aplikasi rumit ing Kubernetes yaiku Helm. Sajrone periode orane, akeh paket (Helm chart) wis diklumpukake supaya gampang disebarake akeh aplikasi populer. Mula, tampilan alat visual sing cocog sing ngidini sampeyan ngatur siklus urip grafik cukup logis.

4.1. Monokuler

  • gudang (1300+ lintang GitHub);
  • Lisensi: Apache 2.0;
  • Singkat: "Aplikasi web kanggo nggoleki lan nemokake grafik Helm ing pirang-pirang repositori. Dadi basis kanggo proyek hub Helm."

Ringkesan GUI kanggo Kubernetes

Pangembangan saka penulis Helm iki diinstal ing Kubernetes lan dianggo ing klompok padha, nindakake tugas. Nanging, saiki, proyek kasebut meh ora dikembangake. Tujuan utamane yaiku nyengkuyung anane Helm Hub. Kanggo kabutuhan liyane, penulis nyaranake Kubeapps (ndeleng ngisor) utawa Red Hat Automation Broker (bagean saka OpenShift, nanging uga ora dikembangake maneh).

4.2. Kubeapps

  • situs;
  • Presentasi;
  • gudang (~2100 lintang GitHub);
  • Lisensi: Apache 2.0
  • Singkat: "Dasbor aplikasi sampeyan kanggo Kubernetes."

Ringkesan GUI kanggo Kubernetes

Produk saka Bitnami, sing uga dipasang ing kluster Kubernetes, nanging beda karo Monocular ing fokus awal kanggo nggarap repositori pribadi.

Fungsi lan fitur utama Kubeapps:

  • Deleng lan pasang denah Helm saka repositori.
  • Priksa, nganyari, lan mbusak aplikasi adhedhasar Helm sing diinstal ing kluster.
  • Dhukungan kanggo repositori grafik khusus lan pribadi (ndhukung ChartMuseum lan JFrog Artifactory).
  • Ndeleng lan nggarap layanan eksternal - saka Katalog Layanan lan Broker Layanan.
  • Nerbitake aplikasi sing diinstal nggunakake mekanisme Service Catalog Bindings.
  • Dhukungan kanggo otentikasi lan pamisahan hak nggunakake RBAC.

Tabel ringkesan

Ing ngisor iki ana tabel ringkesan sing wis nyoba ngringkes lan nglumpukake fitur utama antarmuka visual sing ana kanggo nggampangake perbandingan:

Ringkesan GUI kanggo Kubernetes
(Versi online saka tabel kasedhiya ing Google Docs.)

kesimpulan

GUI kanggo Kubernetes minangka ceruk sing rada spesifik lan enom. Nanging, berkembang kanthi aktif: wis bisa nemokake solusi sing cukup diwasa, lan sing isih enom, sing isih duwe ruang kanggo tuwuh. Padha ngebaki macem-macem aplikasi, nawakake fitur lan katon kanggo cocog meh saben rasa. Muga-muga review iki bakal mbantu sampeyan milih alat sing paling cocog karo kabutuhan saiki.

PS

matur nuwun kvaps kanggo data ing OpenShift Console kanggo tabel comparison!

Waca uga ing blog kita:

Source: www.habr.com

Add a comment