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 nepieciešama instalēšana klasterī (precīzāk, Prometheus ir nepieciešams, lai iegūtu visus rādītājus, bet šim nolūkam var izmantot 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 tiek instalēta personālajā datorā (atbalstīta Linux, macOS, Windows). Tās veidotāji sola pilnīgu komandrindas utilītas aizstāšanu, novēršot nepieciešamību atcerēties komandas un pat desmitkārtīgi palielinot darbības ātrumu.

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 (atbalstīts) Linux, macOS и Windows) un prasa kubectl versiju, kas nav vecāka par v1.14.0.

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 atbalsta trūkums Linux (pagaidām ir pieejamas tikai versijas) Windows и macOS, lai gan 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

  • Vietā;
  • Prezentācija;
  • krātuve (~2100 GitHub zvaigznes);
  • Licence: Apache 2.0
  • Īsumā: "Jūsu Kubernetes lietojumprogrammas informācijas panelis."

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

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster