Tinjauan GUI pikeun Kubernetes

Tinjauan GUI pikeun Kubernetes

Pikeun karya pinuh ku sistem, pangaweruh ngeunaan utiliti garis paréntah penting: dina kasus Kubernetes, ieu kubectl. Di sisi anu sanés, antarmuka grafis anu dirarancang kalayan saé, tiasa dianggoоlolobana tugas biasa na muka kasempetan tambahan pikeun operasi sistem.

Taun ka tukang kami nyebarkeun tarjamahan Tinjauan leutik UI wéb pikeun Kubernetes, waktuna coincide jeung pengumuman tina panganteur web Kubernetes WebView. Panulis artikel éta sareng utilitas sorangan, Henning Jacobs ti Zalando, nembé nempatkeun produk énggal salaku "kubectl pikeun wéb". Manéhna hayang nyieun alat jeung kamampuhan ramah-pamaké pikeun interaksi dina format rojongan teknis (contona, gancang mintonkeun masalah jeung link web) jeung pikeun ngarespon kana kajadian, néangan masalah dina loba klaster dina waktos anu sareng. Katurunanna ngembang dina waktos ayeuna (utamana ku usaha pangarang sorangan).

Nalika kami ngalayanan seueur klaster Kubernetes tina sagala rupa ukuran, kami ogé kabetot pikeun nyayogikeun alat visual pikeun para nasabah. Nalika milih antarmuka anu cocog, fitur-fitur ieu mangrupikeun konci pikeun kami:

  • rojongan pikeun diferensiasi hak pamaké (RBAC);
  • visualisasi kaayaan ngaranspasi sarta primitif Kubernetes baku (Panyebaran, StatefulSet, Service, Cronjob, Proyék, Ingress, ConfigMap, Rahasia, PVC);
  • meunang aksés ka garis paréntah di jero pod nu;
  • nempo log pods;
  • nempo status pods (describe status);
  • nyoplokkeun pods.

Fungsi anu sanés, sapertos ningali sumber daya anu dikonsumsi (dina konteks pods / controller / namespaces), nyiptakeun / ngédit primitif K8s, henteu relevan dina alur kerja urang.

Kami bakal ngamimitian ulasan sareng Dashboard Kubernetes klasik, anu mangrupikeun standar kami. Kusabab dunya teu nangtung kénéh (nu hartina Kubernetes boga beuki loba GUIs anyar), urang ogé bakal ngobrol ngeunaan alternatif na ayeuna, nyimpulkeun sagalana dina tabel komparatif dina tungtung artikel.

NB: Dina resensi, urang moal ngulang jeung pamadegan solusi anu geus dianggap di tulisan panungtung, kumaha oge, demi completeness, pilihan relevan ti eta (K8Dash, Octant, Kubernetes Web View) kaasup dina tabel final.

1. Dashboard Kubernetes

  • Kaca dokuméntasi;
  • gudang (8000+ béntang GitHub);
  • Lisensi: Apache 2.0;
  • Pondokna: "Antarmuka wéb universal pikeun klaster Kubernetes. Éta ngamungkinkeun para pangguna pikeun ngatur sareng ngungkulan aplikasi anu dijalankeun dina kluster, ogé ngatur kluster éta sorangan.

Tinjauan GUI pikeun Kubernetes

Ieu mangrupikeun panel tujuan umum anu katutupan ku pangarang Kubernetes dina dokuméntasi resmi (tapi non-deployable standar). Éta dirarancang pikeun kaperluan operasi sapopoé sareng debugging aplikasi dina klaster. Di bumi, kami nganggo éta salaku alat visual anu ringan anu lengkep anu ngamungkinkeun para pamekar nyayogikeun aksés anu diperyogikeun sareng cekap pikeun kluster. Kamampuhanana nyertakeun sagala kaperluan maranéhanana anu timbul dina prosés ngagunakeun klaster (Dina artikel ieu kami nunjukkeun sababaraha fitur panel). Sakumaha anjeun panginten, ieu hartosna nyumponan sadaya sarat kami anu didaptarkeun di luhur.

Diantara fitur utama Dashboard Kubernetes:

  • Napigasi: nempo objék utama K8s dina konteks namespaces.
  • Upami Anjeun gaduh hak administrator, panel nembongkeun titik, spasi ngaran, jeung Jilid Persistent. Pikeun titik, statistik sadia dina pamakéan memori, processor, alokasi sumberdaya, metrics, status, acara, jsb.
  • Nempo aplikasi deployed dina spasi ngaran dumasar jenis maranéhanana (Deployment, StatefulSet, jsb), hubungan antara aranjeunna (ReplicaSet, Horizontal Pod Autoscaler), statistik umum jeung pribadi sarta informasi.
  • Tingali jasa sareng Ingresses, ogé hubunganana sareng pod sareng titik tungtung.
  • Ningali objék sareng panyimpen file: Jilid Persisten sareng Klaim Jilid Persisten.
  • Ningali sareng édit ConfigMap sareng Secret.
  • Témbongkeun log.
  • aksés garis paréntah dina peti.

Kakurangan anu signifikan (najan kitu, sanés pikeun urang) nyaéta teu aya dukungan pikeun karya multi-cluster. Proyék ieu aktip dikembangkeun ku komunitas sareng ngajaga fitur anu relevan kalayan sékrési versi anyar sareng spésifikasi API Kubernetes: versi panel panganyarna nyaéta v2.0.1 22 Mei 2020 - Diuji pikeun kasaluyuan sareng Kubernetes 1.18.

2. Lénsa

Tinjauan GUI pikeun Kubernetes

Proyék ieu diposisikan salaku lingkungan pangembangan terpadu lengkep (IDE) pikeun Kubernetes. Leuwih ti éta, éta dioptimalkeun pikeun digawekeun ku loba klaster sarta sajumlah badag pods ngajalankeun di antarana (diuji dina 25 pods).

Fitur utama / kamampuan Lens:

  • Aplikasi mandiri anu henteu meryogikeun pamasangan nanaon di jero kluster (langkung tepatna, Prometheus bakal diperyogikeun pikeun nyandak sadaya métrik, tapi pamasangan anu tos aya ogé tiasa dianggo pikeun ieu). Pamasangan "utama" dilakukeun dina komputer pribadi anu ngajalankeun Linux, macOS atanapi Windows.
  • Manajemén multi-cluster (ratusan klaster dirojong).
  • Visualisasi kaayaan klaster sacara real waktos.
  • Grafik pamakean sumberdaya sareng tren sareng sajarah dumasar kana Prometheus anu diwangun.
  • Aksés ka garis paréntah peti sareng dina titik kluster.
  • Rojongan pinuh pikeun Kubernetes RBAC.

Pelepasan ayeuna- 3.5.0 tanggal 16 Juni 2020 Asalna didamel ku Kontena, ayeuna sadaya harta intelektual parantos dialihkeun ka organisasi khusus Lakend Labs, disebut "hiji union geeks pituin awan na technologists", nu jawab "ngajaga sarta kasadiaan software jeung produk Open Source Kontena urang."

Lens mangrupikeun proyék pang populerna kadua di GitHub tina GUI pikeun kategori Kubernetes, "kalah" ngan ukur Dashboard Kubernets sorangan. Sadaya solusi Open Source sanés tina kategori CLI* sacara signifikan langkung handap popularitasna.

* Tempo ngeunaan K9s dina bagian bonus resensi.

3. Kubernétik

Tinjauan GUI pikeun Kubernetes

Ieu mangrupikeun aplikasi proprietary anu dipasang dina komputer pribadi (Linux, macOS, Windows dirojong). Pangarang na janji hiji ngagantian lengkep tina utilitas garis paréntah, sarta kalawan eta - teu kudu nginget Paréntah komo kanaékan tenfold dina speed.

Salah sahiji fitur anu pikaresepeun tina alat nyaéta dukungan anu diwangun pikeun grafik Helm, sareng salah sahiji kalemahanna nyaéta kurangna métrik kinerja aplikasi.

Fitur utama Kubernetic:

  • tampilan merenah tina status klaster. Hiji layar pikeun nempo sakabeh objék klaster patali jeung kagumantunganana; status kesiapan beureum / héjo pikeun sakabéh objék; mode view status klaster kalawan apdet status real-time.
  • Tombol aksi gancang pikeun mupus sareng skala aplikasi.
  • Rojongan pikeun operasi multi-cluster.
  • Karya basajan kalawan namespaces.
  • Rojongan pikeun bagan Helm sareng repositori Helm (kalebet pribadi). Masang sareng ngatur grafik dina antarmuka wéb.

Biaya produk ayeuna nyaéta pamayaran sakali-waktos 30 euro pikeun dianggo ku hiji jalma pikeun sajumlah ruang ngaran sareng klaster.

4. Kasep

  • website;
  • Presentasi;
  • gudang (~ 500 béntang GitHub);
  • Lisensi: Apache 2.0
  • Pondokna: "Kubevious ngajadikeun klaster Kubernetes, konfigurasi aplikasi tur nempoan status aman tur gampang ngartos."

Tinjauan GUI pikeun Kubernetes

Gagasan proyék nyaéta nyiptakeun alat anu dirancang pikeun nganalisis sareng debug konfigurasi aplikasi anu dipasang dina klaster. Panulis museurkeun utamina kana palaksanaan fitur ieu, nyésakeun hal anu langkung umum pikeun engké.

Fitur sareng pungsi konci Kubevious:

  • Visualisasi klaster dina cara anu dipuseurkeun ku aplikasi: objék anu aya hubunganana dina antarmuka dikelompokkeun, ngajajar dina hirarki.
  • Tampilan visual ngeunaan kagumantungan dina konfigurasi sareng konsékuansi cascading tina parobahanana.
  • Tampilan kasalahan konfigurasi klaster: nyalahgunakeun labél, palabuhan lasut, jsb. (Ku jalan kitu, upami anjeun resep kana fitur ieu, perhatikeun Polarisngeunaan nu urang geus nulis.)
  • Salian titik saméméhna, deteksi peti berpotensi bahaya sadia, i.e. ngabogaan teuing hak husus (atribut hostPID, hostNetwork, hostIPC, gunung docker.sock jsb).
  • Sistim pilarian canggih pikeun klaster (teu ngan ku ngaran objék, tapi ogé ku sipat maranéhanana).
  • Alat pikeun perencanaan kapasitas sareng optimasi sumberdaya.
  • Diwangun-di "mesin waktos" (kamampuhan ningali parobahan saméméhna dina konfigurasi objék).
  • Manajemén RBAC kalayan tabel pangsi saling patali Peran, RoleBindings, ServiceAccounts.
  • Gawéna ngan hiji klaster.

Proyék éta gaduh sajarah anu pondok pisan (pelepasan munggaran lumangsung dina 11 Pebruari 2020) sareng sigana parantos aya periode stabilisasi atanapi ngalambatkeun pangwangunan. Upami versi sateuacana sering dileupaskeun, teras versi panganyarna (v0.5 15 April 2020) parantos katinggaleun laju awal pangwangunan. Ieu meureun alatan jumlah leutik kontributor: aya ngan 4 di antarana dina sajarah gudang, sarta sakabeh karya sabenerna dipigawé ku hiji jalma.

5. Kubewise

  • Kaca proyék;
  • Lisensi: proprietary (bakal janten Open Source);
  • Pondokna: "A klien multi-platform basajan pikeun Kubernetes."

Tinjauan GUI pikeun Kubernetes

Produk anyar ti VMware, mimitina didamel salaku bagian tina hackathon internal (dina Juni 2019). Dipasang dina komputer pribadi, jalan dina dasar éléktron (Linux, macOS sareng Windows dirojong) sareng peryogi kubectl v1.14.0 atanapi engké.

Fitur utama Kubewise:

  • Interaksi antarmuka sareng éntitas Kubernetes anu paling sering dianggo: titik, ruang ngaran, jsb.
  • Rojongan pikeun sababaraha file kubeconfig pikeun klaster béda.
  • Terminal kalawan kamampuhan pikeun nyetél variabel lingkungan KUBECONFIG.
  • Ngahasilkeun file kubeconfig custom pikeun ngaranspasi dibikeun.
  • Fitur kaamanan canggih (RBAC, kecap akses, akun jasa).

Sajauh ieu, proyek ngan boga hiji release - versi 1.1.0 tanggal 26 Nopémber 2019. Leuwih ti éta, pangarang ngarencanakeun pikeun geuwat ngaleupaskeun salaku Open Source, tapi alatan masalah internal (teu patali jeung masalah teknis) maranéhna teu bisa ngalakukeun ieu. Nepi ka Méi 2020, panulis nuju damel dina sékrési salajengna sareng kedah ngamimitian prosés muka kode dina waktos anu sami.

6. OpenShift Konsol

Tinjauan GUI pikeun Kubernetes

Sanaos kanyataan yén antarmuka wéb ieu mangrupikeun bagian tina distribusi OpenShift (dipasang di dinya nganggo operator husus), pangarang disadiakeun pikeun kamampuhan pikeun masang / ngagunakeun éta dina pamasangan Kubernetes normal (vanili).

OpenShift Console parantos lami dikembangkeun, ku kituna parantos ngalebetkeun seueur fitur. Kami bakal nyarioskeun anu utama:

  • Pendekatan panganteur dibagikeun - dua "perspéktif" tina kemungkinan sadia dina Konsol: pikeun pangurus jeung pamekar. Modus sudut pandang pamekar grup objék dina formulir leuwih kaharti pikeun pamekar (ku aplikasi) jeung museurkeun panganteur dina ngarengsekeun tugas has kayaning deploying aplikasi, tracking ngawangun / status deployment, komo ngedit kode ngaliwatan Eclipse Che.
  • Manajemén beban kerja, jaringan, neundeun, hak aksés.
  • Separation logis pikeun workloads kana proyék jeung aplikasi. Dina salah sahiji kaluaran panganyarna - v4.3 - mucunghul istimewa dasbor proyék, nu mintonkeun data dawam (jumlah na statuses of deployments, pods, jsb; konsumsi sumberdaya sarta metrics séjén) dina keureutan proyék.
  • Diropéa sacara real waktos tampilan kaayaan klaster, parobahan (kajadian) nu geus lumangsung di dinya; nempoan log.
  • Ningali data ngawaskeun dumasar kana Prometheus, Alertmanager sareng Grafana.
  • Manajemén operator diwakilan dina operatorhub.
  • Atur gedong anu dijalankeun ngaliwatan Docker (tina gudang anu khusus sareng Dockerfile), S2I atawa utilitas éksternal sawenang.

NB: Urang teu nambahan batur pikeun ngabandingkeun Distribusi Kubernetes (contona, anu kirang dikenal Kubesphere): sanajan kanyataan yén GUI bisa jadi pisan canggih di antarana, biasana asalna salaku bagian tina tumpukan terpadu sistem badag. Sanajan kitu, lamun Anjeun mikir yén aya teu cukup solusi nu pinuh fungsi dina instalasi vanili K8s, hayu urang terang dina komentar.

Bonus

1. Portainer on Kubernetes di Béta

  • website;
  • gudang (~ 100 béntang GitHub);
  • Lisensi: Zlib(?) (sarua pikeun proyék indungna).

Proyék ti tim Portainer, anu ngembangkeun antarmuka populér tina nami anu sami pikeun damel sareng Docker. Kusabab proyék éta dina tahap awal pamekaran (pangheulana sareng ngan ukur versi beta kaluar 16 April 2020), kami henteu meunteun fitur-fiturna. Nanging, éta tiasa dipikaresep ku seueur: upami ieu ngeunaan anjeun, tuturkeun pamekaran.

2. IcePanel

  • website;
  • Lisensi: proprietary;
  • Pondokna: "Visual Kubernetes Editor".

Tinjauan GUI pikeun Kubernetes

Aplikasi desktop ngora ieu boga tujuan pikeun ngabayangkeun sareng ngokolakeun sumber daya Kubernetes sacara real waktos kalayan antarmuka sered & serelek anu saderhana. Obyék anu dirojong ayeuna nyaéta Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap sareng Secret. Moal lami deui aranjeunna janji pikeun nambahkeun rojongan pikeun Helm. Karugian utama nyaéta kadeukeutna kode (dipiharep bubuka "dina sababaraha cara") sareng kurangna pangrojong Linux (sajauh ieu ngan ukur versi pikeun Windows sareng macOS anu sayogi, sanaos ieu ogé paling dipikaresep ngan ukur waktos).

3.k9s

  • website;
  • Démonstrasi;
  • gudang (~ 7700 béntang GitHub);
  • Lisensi: Apache 2.0;
  • Pondokna: "A panganteur konsol pikeun Kubernetes nu ngidinan Anjeun pikeun ngatur klaster anjeun dina gaya."

Tinjauan GUI pikeun Kubernetes

Utiliti éta ngan ukur dina bagian bonus tina ulasan pikeun alesan yén éta nawiskeun GUI konsol. Sanajan kitu, pangarang sacara harfiah squeezed maksimum kaluar tina terminal, nawarkeun teu ngan hiji panganteur ramah-pamaké, tapi ogé 6 tema tos siap, sarta sistem canggih tina potong kompas keyboard jeung aliases paréntah. pendekatan teleb maranéhanana teu diwatesan ku penampilan: fitur k9s anu pleasantly impressive: manajemén sumberdaya, mintonkeun kaayaan klaster, mintonkeun sumberdaya dina ngagambarkeun hirarki kalawan kagumantungan, nempo log, rojongan RBAC, manjangkeun kamampuhan ngaliwatan plugins ... Sadaya ieu banding ka komunitas K8s lega: Jumlah béntang GitHub proyék ampir jadi alus sakumaha resmi Kubernetes Dashboard!

4. panels kontrol aplikasi

Sarta di ahir review - a mini kategori misah. Éta kalebet dua antarmuka wéb anu dirancang sanés pikeun manajemén komprehensif klaster Kubernetes, tapi pikeun ngatur naon anu disebarkeun di aranjeunna.

Sakumaha anjeun terang, salah sahiji alat anu paling dewasa sareng nyebar pikeun nyebarkeun aplikasi kompléks di Kubernetes nyaéta Helm. Salila periode ayana, loba bungkusan (bagan Helm) geus akumulasi pikeun deployment gampang loba aplikasi populér. Ku alatan éta, penampilan parabot visual luyu nu ngidinan Anjeun pikeun ngatur siklus hirup grafik cukup logis.

4.1. Monokular

  • gudang (1300+ béntang GitHub);
  • Lisensi: Apache 2.0;
  • Pondokna: "Aplikasi wéb pikeun milarian sareng mendakan bagan Helm dina sababaraha gudang. Berfungsi salaku dasar pikeun proyék hub Helm ".

Tinjauan GUI pikeun Kubernetes

Pangwangunan ieu ti panulis Helm dipasang di Kubernetes sareng tiasa dianggo dina klaster anu sami, ngalaksanakeun tugas. Nanging, ayeuna, proyék éta ampir henteu dikembangkeun. Tujuan utamana pikeun ngarojong ayana Helm Hub. Pikeun kaperluan anu sanés, panulis nyarankeun Kubeapps (tingali di handap) atanapi Red Hat Automation Broker (bagian tina OpenShift, tapi ogé henteu deui dikembangkeun).

4.2. Kubeapps

  • website;
  • Presentasi;
  • gudang (~ 2100 béntang GitHub);
  • Lisensi: Apache 2.0
  • Pondokna: "Dasbor aplikasi anjeun pikeun Kubernetes."

Tinjauan GUI pikeun Kubernetes

Produk ti Bitnami, anu ogé dipasang dina klaster Kubernetes, tapi béda sareng Monocular dina fokus awalna pikeun damel sareng repositori swasta.

Fungsi utama sareng fitur Kubeapps:

  • Ningali sareng pasang bagan Helm tina repositori.
  • Pariksa, ngamutahirkeun, jeung cabut aplikasi basis Helm dipasang dina klaster.
  • Rojongan pikeun repositori bagan adat sareng pribadi (ngadukung ChartMuseum sareng JFrog Artifactory).
  • Ningali sareng damel sareng jasa éksternal - tina Katalog Jasa sareng Calo Jasa.
  • Nyebarkeun aplikasi anu dipasang nganggo mékanisme Service Catalog Bindings.
  • Rojongan pikeun auténtikasi sareng pamisahan hak nganggo RBAC.

Méja kasimpulan

Di handap ieu tabel kasimpulan dimana kami geus diusahakeun nyimpulkeun tur agrégat fitur utama interfaces visual aya pikeun mempermudah ngabandingkeun:

Tinjauan GUI pikeun Kubernetes
(Vérsi online tina méja sadia dina Google Docs.)

kacindekan

GUIs pikeun Kubernetes mangrupakeun Ecological rada husus sarta ngora. Nanging, éta ngembang pisan aktip: parantos tiasa mendakan solusi anu cukup dewasa, sareng anu ngora pisan, anu masih gaduh rohangan pikeun tumbuh. Aranjeunna cater kana rupa-rupa aplikasi, nawarkeun fitur sarta penampilan pikeun nyocogkeun ampir unggal rasa. Kami ngarepkeun ulasan ieu bakal ngabantosan anjeun milih alat anu paling cocog sareng kabutuhan anjeun ayeuna.

PS

hatur nuhun kvaps pikeun data dina OpenShift Konsol pikeun tabel ngabandingkeun!

Baca ogé dina blog urang:

sumber: www.habr.com

Tambahkeun komentar