Pārskats par Kubernetes GUI

Pārskats par Kubernetes GUI

PilnvērtÄ«gam darbam ar sistēmu ir svarÄ«gas zināŔanas par komandrindas utilÄ«tprogrammām: Kubernetes gadÄ«jumā tas ir kubectl. No otras puses, labi izstrādātas, pārdomātas grafiskās saskarnes var darbotiesŠ¾lielāko daļu ierasto uzdevumu un paver papildu iespējas sistēmu darbÄ«bai.

PagājuÅ”ajā gadā mēs publicējām tulkojumu neliels tÄ«mekļa lietotāja interfeisa pārskats Kubernetes, kas sakrÄ«t ar paziņojumu par tÄ«mekļa saskarni Kubernetes WebView. Å Ä« raksta autors un pati utilÄ«ta Henning Jacobs no Zalando tikko pozicionēja jauno produktu kā ā€œkubectl for the webā€. ViņŔ vēlējās izveidot rÄ«ku ar lietotājam draudzÄ«gām iespējām mijiedarbÄ«bai tehniskā atbalsta formātā (piemēram, ātri parādÄ«t problēmu ar tÄ«mekļa saiti) un reaģēt uz incidentiem, vienlaikus meklējot problēmas daudzos klasteros. Viņa pēcnācēji Å”obrÄ«d attÄ«stās (galvenokārt ar paÅ”a autora pÅ«lēm).

Tā kā apkalpojam daudzus dažāda izmēra Kubernetes klasterus, mÅ«s interesē arÄ« iespēja klientiem nodroÅ”ināt vizuālu darba rÄ«ku. Izvēloties piemērotu saskarni, mums bija svarÄ«gas Ŕādas funkcijas:

  • atbalsts lietotāju tiesÄ«bu diferencÄ“Å”anai (RBAC);
  • nosaukumtelpas stāvokļa vizualizācija un standarta Kubernetes primitÄ«vi (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • piekļūt komandrindai podā;
  • pākÅ”u žurnālu apskate;
  • apskatÄ«t pākstu statusu (describe status);
  • pākstis noņemÅ”ana.

Citas funkcijas, piemēram, patērēto resursu skatÄ«Å”ana (pod/kontrolleru/nosaukumvietu kontekstā), K8s primitÄ«vu izveide/rediģēŔana, mÅ«su darbplÅ«smā nav svarÄ«gas.

Mēs sāksim pārskatÄ«Å”anu ar klasisko Kubernetes informācijas paneli, kas ir mÅ«su standarts. Tā kā pasaule nestāv uz vietas (tas nozÄ«mē, ka Kubernetes ir arvien vairāk jaunu GUI), tad runāsim arÄ« par tā aktuālajām alternatÄ«vām, visu apkopojot salÄ«dzinoŔā tabulā raksta beigās.

NB: Pārskatā mēs neatkārtosimies ar tiem risinājumiem, kas jau ir izskatīti pēdējais raksts, tomēr, pilnības labad, attiecīgās opcijas no tā (K8Dash, Octant, Kubernetes Web View) ir iekļautas gala tabulā.

1. Kubernetes informācijas panelis

  • Dokumentācijas lapa;
  • krātuve (8000+ GitHub zvaigznes);
  • Licence: Apache 2.0;
  • ÄŖsumā: ā€œUniversāls tÄ«mekļa interfeiss Kubernetes klasteriem. Tas ļauj lietotājiem pārvaldÄ«t un novērst lietojumprogrammas, kas darbojas klasterÄ«, kā arÄ« pārvaldÄ«t paÅ”u klasteru.

Pārskats par Kubernetes GUI

Å is ir vispārējas nozÄ«mes panelis, ko oficiālajā dokumentācijā ir aplÅ«kojuÅ”i Kubernetes autori (bet nav izvietojams noklusējuma). Tas ir paredzēts ikdienas lietoÅ”anai un lietojumprogrammu atkļūdoÅ”anai klasterÄ«. Mājās mēs to izmantojam kā pilnvērtÄ«gu vieglu vizuālo rÄ«ku, kas ļauj izstrādātājiem nodroÅ”ināt nepiecieÅ”amo un pietiekamu piekļuvi klasterim. Tās iespējas aptver visas viņu vajadzÄ«bas, kas rodas klastera lietoÅ”anas procesā (in Å is raksts mēs parādÄ«jām dažas paneļa funkcijas). Kā jÅ«s varētu nojaust, tas nozÄ«mē, ka tas atbilst visām iepriekÅ” minētajām prasÄ«bām.

Starp galvenajām Kubernetes informācijas paneļa funkcijām:

  • Navigācija: skatiet galvenos K8 objektus nosaukumvietu kontekstā.
  • Ja jums ir administratora tiesÄ«bas, panelÄ« tiek rādÄ«ti mezgli, nosaukumvietas un pastāvÄ«gie sējumi. Par mezgliem ir pieejama statistika par atmiņas izmantoÅ”anu, procesoru, resursu sadalÄ«jumu, metriku, statusu, notikumiem utt.
  • Skatiet nosaukumvietā izvietotās lietojumprogrammas pēc to veida (IzvietoÅ”ana, StatefulSet utt.), attiecÄ«bām starp tām (ReplicaSet, Horizontal Pod Autoscaler), vispārÄ«gu un personalizētu statistiku un informāciju.
  • Skatiet pakalpojumus un Ingresses, kā arÄ« to attiecÄ«bas ar podiem un galapunktiem.
  • SkatÄ«t failu objektus un krātuves: pastāvÄ«gs apjoms un pastāvÄ«ga apjoma pretenzija.
  • SkatÄ«t un rediģēt ConfigMap un Secret.
  • SkatÄ«t žurnālus.
  • Komandrindas piekļuve konteineros.

BÅ«tisks trÅ«kums (tomēr ne mums) ir tas, ka nav atbalsta vairāku klasteru darbam. Projektu aktÄ«vi izstrādā sabiedrÄ«ba, un tajā tiek uzturētas atbilstoŔās funkcijas, izlaižot jaunas Kubernetes API versijas un specifikācijas: paneļa jaunākā versija ir v2.0.1 22. gada 2020. maijs ā€” pārbaudÄ«ta saderÄ«ba ar Kubernetes 1.18.

2. objektīvs

Pārskats par Kubernetes GUI

Projekts ir pozicionēts kā pilnÄ«ga Kubernetes integrētā izstrādes vide (IDE). Turklāt tas ir optimizēts darbam ar daudzām kopām un lielu skaitu tajos strādājoÅ”u podiņu (pārbaudÄ«ts uz 25 XNUMX podiem).

Galvenās objektīva funkcijas/iespējas:

  • AtseviŔķa lietojumprogramma, kurai nav jāinstalē nekas klastera iekÅ”ienē (precÄ«zāk, Prometheus bÅ«s nepiecieÅ”ams, lai iegÅ«tu visus rādÄ«tājus, taču Å”im nolÅ«kam var izmantot arÄ« esoÅ”u instalāciju). ā€œGalvenāā€ instalÄ“Å”ana tiek veikta personālajā datorā, kurā darbojas Linux, macOS vai Windows.
  • Vairāku klasteru pārvaldÄ«ba (atbalstÄ«ti simtiem klasteru).
  • Klastera stāvokļa vizualizācija reāllaikā.
  • Resursu izmantoÅ”anas diagrammas un tendences ar vēsturi, pamatojoties uz iebÅ«vēto Prometheus.
  • Piekļuve konteineru un klasteru mezglu komandrindai.
  • Pilns Kubernetes RBAC atbalsts.

PaÅ”reizējais izlaidums - 3.5.0 datēts ar 16. gada 2020. jÅ«niju. Sākotnēji to izveidoja Kontena, taču Å”odien viss intelektuālais Ä«paÅ”ums ir nodots Ä«paÅ”ai organizācijai Lalendas laboratorijas, kas tiek dēvēta par "mākonis vietējo dÄ«Ä·u un tehnologu savienÄ«bu", kas ir atbildÄ«ga par "Kontenas atvērtā pirmkoda programmatÅ«ras un produktu saglabāŔanu un pieejamÄ«bu".

Lens ir otrs populārākais GitHub projekts no Kubernetes GUI kategorijas, ā€œzaudējotā€ tikai paÅ”u Kubernets informācijas paneli. Visi pārējie atvērtā pirmkoda risinājumi, kas nav no CLI* kategorijas, ir ievērojami zemāki popularitātes ziņā.

* Skatiet informāciju par K9 apskata bonusa daļā.

3. Kubernētika

Pārskats par Kubernetes GUI

Šī ir patentēta lietojumprogramma, kas ir instalēta personālajā datorā (tiek atbalstīta Linux, macOS, Windows). Tās autori sola pilnīgu komandrindas utilīta nomaiņu, un līdz ar to - nav jāatceras komandas un pat desmitkārtīgs ātruma palielinājums.

Viena no interesantajām rīka funkcijām ir iebūvētais atbalsts Helm diagrammām, un viens no trūkumiem ir lietojumprogrammu veiktspējas metrikas trūkums.

Galvenās Kubernetic iezīmes:

  • Ērta klastera statusa parādÄ«Å”ana. Viens ekrāns, lai skatÄ«tu visus saistÄ«tos klastera objektus un to atkarÄ«bas; sarkans/zaļŔ gatavÄ«bas statuss visiem objektiem; klastera statusa skata režīms ar reāllaika statusa atjauninājumiem.
  • Ātrās darbÄ«bas pogas lietojumprogrammas dzÄ“Å”anai un mērogoÅ”anai.
  • Atbalsts vairāku klasteru darbÄ«bai.
  • VienkārÅ”s darbs ar nosaukumu telpām.
  • Atbalsts Helm diagrammām un Helm krātuvēm (tostarp privātajām). Diagrammu instalÄ“Å”ana un pārvaldÄ«ba tÄ«mekļa saskarnē.

Produkta paÅ”reizējās izmaksas ir vienreizējs maksājums 30 eiro apmērā par tā izmantoÅ”anu vienai personai par jebkuru nosaukumu vietu un klasteru skaitu.

4. Kubevious

  • Vietā;
  • Prezentācija;
  • krātuve (~500 GitHub zvaigznes);
  • Licence: Apache 2.0
  • ÄŖsumā: "Kubevious padara Kubernetes klasterus, lietojumprogrammu konfigurāciju un statusa skatÄ«Å”anu droÅ”us un viegli saprotamus."

Pārskats par Kubernetes GUI

Projekta ideja ir izveidot rÄ«ku, kas paredzēts klasterÄ« izvietoto lietojumprogrammu konfigurāciju analÄ«zei un atkļūdoÅ”anai. Autori galvenokārt koncentrējās uz Å”o funkciju ievieÅ”anu, atstājot vispārÄ«gākas lietas vēlākam laikam.

Kubevious galvenās iezīmes un funkcijas:

  • Klasteru vizualizācija uz lietojumprogrammu orientētā veidā: saistÄ«tie objekti saskarnē tiek grupēti, sakārtoti hierarhijā.
  • Konfigurāciju atkarÄ«bu un to izmaiņu kaskādes seku vizuāls attēlojums.
  • Klasteru konfigurācijas kļūdu parādÄ«Å”ana: etiÄ·eÅ”u nepareiza izmantoÅ”ana, nokavēti porti utt. (Starp citu, ja jÅ«s interesē Ŕī funkcija, pievērsiet uzmanÄ«bu Polarispar ko mēs jau rakstÄ«ju.)
  • Papildus iepriekŔējam punktam ir pieejama potenciāli bÄ«stamu konteineru noteikÅ”ana, t.i. kam ir pārāk daudz privilēģiju (atribÅ«tu hostPID, hostNetwork, hostIPC, mount docker.sock utt).
  • Izvērstā klastera meklÄ“Å”anas sistēma (ne tikai pēc objektu nosaukumiem, bet arÄ« pēc to Ä«paŔībām).
  • RÄ«ki jaudas plānoÅ”anai un resursu optimizācijai.
  • IebÅ«vēta "laika maŔīna" (iespēja redzēt iepriekŔējās izmaiņas objektu konfigurācijā).
  • RBAC pārvaldÄ«ba ar savstarpēji saistÄ«tu lomu, lomu saistÄ«Å”anas un pakalpojumu kontu tabulu.
  • Darbojas tikai ar vienu klasteru.

Projektam ir ļoti Ä«sa vēsture (pirmā izlaiÅ”ana notika 11. gada 2020. februārÄ«), un Ŕķiet, ka ir bijis vai nu stabilizācijas, vai attÄ«stÄ«bas palēnināŔanās periods. Ja iepriekŔējās versijas tika izlaistas bieži, tad jaunākā versija (v0.5 15. gada 2020. aprÄ«lis) ir atpalikusi no sākotnējā attÄ«stÄ«bas tempa. Iespējams, tas ir saistÄ«ts ar nelielo lÄ«dzstrādnieku skaitu: repozitorija vēsturē tādi ir tikai 4, un visu faktisko darbu veic viens cilvēks.

5. Kubewise

  • Projekta lapa;
  • Licence: patentēta (kļūs par atvērtā pirmkoda);
  • ÄŖsumā: "VienkārÅ”s Kubernetes vairāku platformu klients."

Pārskats par Kubernetes GUI

Jauns produkts no VMware, kas sākotnēji tika izveidots kā daļa no iekŔējā hakatona (2019. gada jÅ«nijā). UzstādÄ«ts personālajā datorā, darbojas, pamatojoties uz Elektrons (atbalsta Linux, macOS un Windows), un tam ir nepiecieÅ”ama kubectl v1.14.0 vai jaunāka versija.

Galvenās Kubewise funkcijas:

  • Interfeisa mijiedarbÄ«ba ar visbiežāk izmantotajām Kubernetes entÄ«tijām: mezgliem, nosaukumu telpām utt.
  • Atbalsts vairākiem kubeconfig failiem dažādām kopām.
  • Terminālis ar iespēju iestatÄ«t vides mainÄ«go KUBECONFIG.
  • Ä¢enerējiet pielāgotus kubeconfig failus norādÄ«tajai nosaukumvietai.
  • Uzlabotas droŔības funkcijas (RBAC, paroles, pakalpojumu konti).

Pagaidām projektam ir tikai viena versija ā€“ versija 1.1.0 datēts ar 26. gada 2019. novembri. Turklāt autori plānoja to nekavējoties izlaist kā atvērtā pirmkoda versiju, taču iekŔēju problēmu dēļ (kas nav saistÄ«tas ar tehniskiem jautājumiem) viņi to nevarēja izdarÄ«t. Sākot ar 2020. gada maiju, autori strādā pie nākamā laidiena, un tajā paŔā laikā ir jāuzsāk koda atvērÅ”anas process.

6. OpenShift konsole

Pārskats par Kubernetes GUI

Neskatoties uz to, ka Ŕī tÄ«mekļa saskarne ir daļa no OpenShift izplatÄ«Å”anas (tas tiek instalēts tur, izmantojot Ä«paÅ”s operators), autori paredzēts iespēja to instalēt / izmantot parastās (vaniļas) Kubernetes instalācijās.

OpenShift konsole ir izstrādāta jau ilgu laiku, tāpēc tajā ir iekļautas daudzas funkcijas. Mēs minēsim galvenos:

  • Koplietotā interfeisa pieeja - divas Konsolē pieejamo iespēju "perspektÄ«vas": administratoriem un izstrādātājiem. Režīms izstrādātāja perspektÄ«va grupē objektus izstrādātājiem saprotamākā formā (pēc lietojumprogrammām) un pievērÅ” saskarni tādu tipisku uzdevumu risināŔanai kā lietojumprogrammu izvietoÅ”ana, bÅ«vÄ“Å”anas/izvietoÅ”anas statusa izsekoÅ”ana un pat koda rediģēŔana, izmantojot Eclipse Che.
  • Darba slodzi, tÄ«klu, krātuves, piekļuves tiesÄ«bu pārvaldÄ«ba.
  • LoÄ£iska darba slodzes sadalÄ«Å”ana projektos un lietojumprogrammās. Vienā no jaunākajiem laidieniem ā€” v4.3 ā€” parādÄ«jās Ä«paÅ”s Projekta informācijas panelis, kurā tiek parādÄ«ti parastie dati (izvietojumu skaits un statusi, podi utt.; resursu patēriņŔ un citi rādÄ«tāji) projekta daļā.
  • Atjaunināts reāllaika klastera stāvokļa attēlojums, tajā notikuŔās izmaiņas (notikumi); žurnālu apskate.
  • Skatiet monitoringa datus, pamatojoties uz Prometheus, Alertmanager un Grafana.
  • Pārstāvēto operatoru vadÄ«ba operatoru centrs.
  • PārvaldÄ«t bÅ«vējumus, kas darbojas caur Docker (no noteiktas krātuves ar Dockerfile), S2I vai patvaļīgi ārēji komunālie pakalpojumi.

NB: Mēs salīdzinājumam nepievienojām citus Kubernetes sadalījumi (piemēram, daudz mazāk zināmie Kubesfēra): neskatoties uz to, ka GUI tajās var būt ļoti uzlabots, tas parasti ir daļa no lielas sistēmas integrētās kaudzes. Tomēr, ja uzskatāt, ka vaniļas K8s instalācijā nav pietiekami daudz risinājumu, kas pilnībā funkcionētu, paziņojiet mums komentāros.

prēmija

1. Portainer par Kubernetes beta versijā

  • Vietā;
  • krātuve (~100 GitHub zvaigznes);
  • Licence: Zlib(?) (tas pats vecāku projektam).

Portainer komandas projekts, kas izstrādāja populāru tāda paÅ”a nosaukuma saskarni darbam ar Docker. Tā kā projekts ir agrÄ«nā izstrādes stadijā (pirmā un vienÄ«gā beta versija iznāca 16. gada 2020. aprÄ«lis), mēs nenovērtējām tās Ä«paŔības. Tomēr tas var interesēt daudzus: ja tas attiecas uz jums, sekojiet attÄ«stÄ«bai.

2. IcePanel

  • Vietā;
  • Licence: patentēta;
  • ÄŖsumā: "Visual Kubernetes Editor".

Pārskats par Kubernetes GUI

Å Ä«s jaunās darbvirsmas lietojumprogrammas mērÄ·is ir vizualizēt un pārvaldÄ«t Kubernetes resursus reāllaikā, izmantojot vienkārÅ”u vilkÅ”anas un nomeÅ”anas saskarni. PaÅ”laik atbalstÄ«tie objekti ir Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap un Secret. DrÄ«z viņi sola pievienot atbalstu Helmam. Galvenie trÅ«kumi ir koda tuvums (tas ir paredzams atverot "kaut kādā veidā") un Linux atbalsta trÅ«kums (pagaidām ir pieejamas tikai Windows un macOS versijas, lai gan arÄ« tas, visticamāk, ir tikai laika jautājums).

3.k9s

  • Vietā;
  • Demonstrācija;
  • krātuve (~7700 GitHub zvaigznes);
  • Licence: Apache 2.0;
  • ÄŖsumā: "Kubernetes konsoles interfeiss, kas ļauj stilÄ«gi pārvaldÄ«t savu kopu."

Pārskats par Kubernetes GUI

LietderÄ«ba bija tikai pārskata papildu daļā, jo tā piedāvā konsoles GUI. Tomēr autori burtiski izspieda no termināļa maksimumu, piedāvājot ne tikai lietotājam draudzÄ«gu interfeisu, bet arÄ« 6 iepriekÅ” definētas tēmas, kā arÄ« progresÄ«vu Ä«sinājumtaustiņu un komandu aizstājvārdu sistēmu. Viņu rÅ«pÄ«gā pieeja neaprobežojās tikai ar izskatu: k9s funkcijas ir patÄ«kami iespaidÄ«gas: resursu pārvaldÄ«ba, klastera stāvokļa parādÄ«Å”ana, resursu parādÄ«Å”ana hierarhiskā attēlojumā ar atkarÄ«bām, žurnālu skatÄ«Å”ana, RBAC atbalsts, iespēju paplaÅ”ināŔana, izmantojot spraudņus ... Tas viss piesaistÄ«ja plaÅ”ajai K8s kopienai: Projekta GitHub zvaigžņu skaits ir gandrÄ«z tikpat labs kā oficiālais Kubernetes informācijas panelis!

4. Lietojumprogrammu vadības paneļi

Un pārskata beigās - atseviŔķa mini kategorija. Tajā bija iekļautas divas tÄ«mekļa saskarnes, kas paredzētas nevis visaptveroÅ”ai Kubernetes klasteru pārvaldÄ«bai, bet gan tajos izvietotā satura pārvaldÄ«bai.

Kā jÅ«s zināt, viens no visizplatÄ«tākajiem un izplatÄ«tākajiem rÄ«kiem sarežģītu lietojumprogrammu izvietoÅ”anai Kubernetes ir Helm. Tās pastāvÄ“Å”anas laikā ir uzkrājuŔās daudzas pakotnes (stÅ«res diagrammas), lai to varētu viegli izvietot daudzas populāras lietojumprogrammas. Tāpēc atbilstoÅ”u vizuālo rÄ«ku parādÄ«Å”anās, kas ļauj pārvaldÄ«t diagrammu dzÄ«ves ciklu, ir diezgan loÄ£iska.

4.1. Monokulārs

  • krātuve (1300+ GitHub zvaigznes);
  • Licence: Apache 2.0;
  • ÄŖsumā: ā€œTÄ«mekļa lietojumprogramma Helm diagrammu meklÄ“Å”anai un atklāŔanai vairākās krātuvēs. Kalpo par Helm hub projekta pamatu."

Pārskats par Kubernetes GUI

Å Ä« Helm autoru izstrādātā izstrāde ir instalēta Kubernetes un darbojas tajā paŔā klasterÄ«, veicot uzdevumu. Taču Å”obrÄ«d projekts Ä«paÅ”i neattÄ«stās. Tās galvenais mērÄ·is ir atbalstÄ«t Helm Hub pastāvÄ“Å”anu. Citām vajadzÄ«bām autori iesaka Kubeapps (skatÄ«t zemāk) vai Red Hat Automation Broker (daļa no OpenShift, bet arÄ« vairs netiek izstrādāta).

4.2. Kubeapps

Pārskats par Kubernetes GUI

Produkts no Bitnami, kas arÄ« ir instalēts Kubernetes klasterÄ«, taču atŔķiras no Monocular ar savu sākotnējo koncentrÄ“Å”anos uz darbu ar privātām krātuvēm.

Kubeapps galvenās funkcijas un funkcijas:

  • Skatiet un instalējiet Helm diagrammas no krātuvēm.
  • Pārbaudiet, atjauniniet un noņemiet klasterÄ« instalētās lietojumprogrammas, kuru pamatā ir Helm.
  • Atbalsts pielāgotām un privātām diagrammu krātuvēm (atbalsta ChartMuseum un JFrog Artifactory).
  • Ārējo pakalpojumu apskate un darbs ar tiem - no pakalpojumu kataloga un pakalpojumu brokeriem.
  • Instalēto lietojumprogrammu publicÄ“Å”ana, izmantojot pakalpojumu kataloga saistÄ«Å”anas mehānismu.
  • Atbalsts autentifikācijai un tiesÄ«bu nodalÄ«Å”anai, izmantojot RBAC.

Kopsavilkuma tabula

Tālāk ir sniegta kopsavilkuma tabula, kurā mēs esam mēģinājuÅ”i apkopot un apkopot esoŔās vizuālās saskarnes galvenās iezÄ«mes, lai atvieglotu salÄ«dzināŔanu:

Pārskats par Kubernetes GUI
(Tabulas tieŔsaistes versija pieejams Google dokumentos.)

Secinājums

Kubernetes GUI ir diezgan specifiska un jauna niÅ”a. Taču tā attÄ«stās ļoti aktÄ«vi: jau tagad ir iespējams atrast gan diezgan nobrieduÅ”us risinājumus, gan pavisam jaunus, kuriem vēl ir kur augt. Tie ir paredzēti dažādiem lietojumiem, piedāvājot funkcijas un izskatu, kas atbilst gandrÄ«z katrai gaumei. Mēs ceram, ka Å”is pārskats palÄ«dzēs jums izvēlēties rÄ«ku, kas vislabāk atbilst jÅ«su paÅ”reizējām vajadzÄ«bām.

PS

Paldies smakas par datiem OpenShift konsolē salÄ«dzināŔanas tabulai!

Lasi arī mūsu emuārā:

Avots: www.habr.com

Pievieno komentāru