„Kubernetes“ GUI apžvalga

„Kubernetes“ GUI apžvalga

Visaverčiam darbui su sistema svarbios komandų eilutės paslaugų žinios: Kubernetes atveju tai yra kubectl. Kita vertus, gerai suplanuotos, apgalvotos grafinės sąsajos gali veiktiоdauguma įprastų užduočių ir atveria papildomų galimybių sistemų veikimui.

Pernai išleidome vertimą nedidelė žiniatinklio vartotojo sąsajos apžvalga skirta Kubernetes, sutampa su žiniatinklio sąsajos paskelbimu Kubernetes WebView. To straipsnio autorius ir pats įrankis Henningas Jacobsas iš Zalando naująjį produktą tiesiog išdėstė kaip „kubectl for the web“. Jis norėjo sukurti įrankį su patogiomis vartotojui sąveikos galimybėmis techninio palaikymo formatu (pavyzdžiui, greitai parodyti problemą naudojant žiniatinklio nuorodą) ir reaguoti į incidentus, vienu metu ieškoti problemų daugelyje grupių. Jo atžalos vystosi šiuo metu (daugiausia paties autoriaus pastangomis).

Aptarnaujame daugybę įvairaus dydžio Kubernetes klasterių, todėl taip pat esame suinteresuoti, kad galėtume pateikti savo klientams vaizdinį įrankį. Renkantis tinkamą sąsają mums buvo svarbios šios funkcijos:

  • vartotojo teisių diferencijavimo (RBAC) palaikymas;
  • vardų erdvės būsenos ir standartinių Kubernetes primityvų (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC) vizualizacija;
  • gauti prieigą prie komandinės eilutės podyje;
  • ankščių rąstų peržiūra;
  • peržiūrėti ankščių būseną (describe status);
  • ankščių pašalinimas.

Kitos funkcijos, pvz., sunaudotų išteklių peržiūra (patekusių / valdiklių / vardų erdvių kontekste), K8s primityvų kūrimas / redagavimas, nėra svarbios mūsų darbo eigoje.

Peržiūrą pradėsime nuo klasikinės „Kubernetes“ prietaisų skydelio, kuris yra mūsų standartas. Kadangi pasaulis nestovi vietoje (o tai reiškia, kad Kubernetes turi vis daugiau naujų GUI), pakalbėsime ir apie dabartines jo alternatyvas, viską apibendrindami lyginamojoje lentelėje straipsnio pabaigoje.

NB: Apžvalgoje nekartosime su tais sprendimais, kurie jau buvo apsvarstyti paskutinis straipsnis, tačiau, siekiant išsamumo, atitinkamos jo parinktys (K8Dash, Octant, Kubernetes Web View) įtrauktos į galutinę lentelę.

1. „Kubernetes“ prietaisų skydelis

  • Dokumentacijos puslapis;
  • saugykla (8000 ir daugiau „GitHub“ žvaigždžių);
  • Licencija: Apache 2.0;
  • Trumpai: „Universali žiniatinklio sąsaja Kubernetes klasteriams. Tai leidžia vartotojams valdyti ir šalinti klasteryje veikiančias programas, taip pat valdyti patį klasterį.

„Kubernetes“ GUI apžvalga

Tai yra bendros paskirties skydelis, kurį oficialiuose dokumentuose pateikia Kubernetes autoriai (bet nedislokuojami numatytas). Jis skirtas kasdienio veikimo ir programų derinimo klasteryje poreikiams. Namuose mes jį naudojame kaip visavertį lengvą vizualinį įrankį, leidžiantį kūrėjams suteikti reikiamą ir pakankamą prieigą prie klasterio. Jo galimybės apima visus jų poreikius, kurie kyla naudojant klasterių (in Šis straipsnis parodėme kai kurias skydelio savybes). Kaip galite spėti, tai reiškia, kad jis atitinka visus aukščiau išvardytus reikalavimus.

Tarp pagrindinių „Kubernetes“ prietaisų skydelio savybių:

  • Navigacija: peržiūrėkite pagrindinius K8 objektus vardų erdvių kontekste.
  • Jei turite administratoriaus teises, skydelyje rodomi mazgai, vardų erdvės ir nuolatiniai tomai. Mazgų atveju galima gauti statistiką apie atminties naudojimą, procesorių, išteklių paskirstymą, metriką, būseną, įvykius ir kt.
  • Peržiūrėkite vardų erdvėje įdiegtas programas pagal jų tipą (Deployment, StatefulSet ir kt.), ryšius tarp jų (ReplicaSet, Horizontal Pod Autoscaler), bendrąją ir suasmenintą statistiką ir informaciją.
  • Peržiūrėkite paslaugas ir „Ingresses“, taip pat jų ryšius su moduliais ir galutiniais taškais.
  • Peržiūrėkite failų objektus ir saugyklas: nuolatinį tomą ir nuolatinį tomo reikalavimą.
  • Peržiūrėkite ir redaguokite ConfigMap ir Secret.
  • Peržiūrėti žurnalus.
  • Prieiga prie komandų eilutės konteineriuose.

Reikšmingas trūkumas (tačiau ne mums) yra tai, kad nėra palaikymo kelių grupių darbui. Projektą aktyviai kuria bendruomenė ir palaiko atitinkamas funkcijas išleidžiant naujas Kubernetes API versijas ir specifikacijas: naujausia skydelio versija yra v2.0.1 22 m. gegužės 2020 d. – išbandytas suderinamumas su Kubernetes 1.18.

2. lęšis

„Kubernetes“ GUI apžvalga

Projektas yra visiškai integruota kūrimo aplinka (IDE), skirta Kubernetes. Be to, jis yra optimizuotas darbui su daugybe grupių ir daug jose veikiančių podų (išbandyta su 25 XNUMX ankšties).

Pagrindinės objektyvo savybės / galimybės:

  • Atskira programa, kuriai nereikia nieko įdiegti klasterio viduje (tiksliau, Prometheus reikės gauti visus rodiklius, tačiau tam galima naudoti ir esamą instaliaciją). „Pagrindinis“ diegimas atliekamas asmeniniame kompiuteryje, kuriame veikia „Linux“, „MacOS“ arba „Windows“.
  • Kelių grupių valdymas (palaikomi šimtai grupių).
  • Klasterio būsenos vizualizacija realiu laiku.
  • Išteklių naudojimo diagramos ir tendencijos su istorija, pagrįstos integruotu Prometheus.
  • Prieiga prie konteinerių komandinės eilutės ir klasterio mazgų.
  • Visiškas Kubernetes RBAC palaikymas.

Dabartinis leidimas - 3.5.0 16 m. birželio 2020 d. Iš pradžių sukurta Kontena, šiandien visa intelektinė nuosavybė perduota specialiai organizacijai Lakendo laboratorijos, vadinama „debesų geekų ir technologų sąjunga“, atsakinga už „Kontenos atvirojo kodo programinės įrangos ir produktų išsaugojimą ir prieinamumą“.

„Lens“ yra antras pagal populiarumą „GitHub“ projektas iš „Kubernetes“ GUI kategorijos, „prarandantis“ tik pačią „Kubernets“ prietaisų skydelį. Visi kiti atvirojo kodo sprendimai, nepriklausantys CLI* kategorijai, yra gerokai prastesni populiarumu.

* Apie K9 skaitykite papildomoje apžvalgos dalyje.

3. Kubernetika

„Kubernetes“ GUI apžvalga

Tai patentuota programa, įdiegta asmeniniame kompiuteryje (palaikomos „Linux“, „MacOS“, „Windows“). Jo autoriai žada visiškai pakeisti komandinės eilutės įrankį, o kartu su juo – nereikia prisiminti komandų ir net dešimteriopai padidinti greitį.

Viena iš įdomių įrankio savybių yra integruotas Helm diagramų palaikymas, o vienas iš trūkumų yra programos našumo metrikos trūkumas.

Pagrindinės Kubernetic savybės:

  • Patogus klasterio būsenos rodymas. Vienas ekranas, skirtas peržiūrėti visus susijusius klasterio objektus ir jų priklausomybes; raudona/žalia visų objektų parengties būsena; klasterio būsenos peržiūros režimas su būsenos atnaujinimais realiuoju laiku.
  • Greito veiksmo mygtukai, skirti programai ištrinti ir keisti.
  • Kelių grupių veikimo palaikymas.
  • Paprastas darbas su vardų erdvėmis.
  • „Helm“ diagramų ir „Helm“ saugyklų (įskaitant privačias) palaikymas. Diagramų diegimas ir tvarkymas žiniatinklio sąsajoje.

Dabartinė produkto kaina yra vienkartinis 30 eurų mokėjimas už naudojimąsi vienam asmeniui už bet kokį skaičių vardų erdvių ir grupių.

4. Kubevious

  • Vieta;
  • Pristatymas;
  • saugykla (~500 GitHub žvaigždžių);
  • Licencija: Apache 2.0
  • Trumpai: „Kubevious“ daro „Kubernetes“ grupes, programų konfigūraciją ir būsenos peržiūrą saugius ir lengvai suprantamus.

„Kubernetes“ GUI apžvalga

Projekto idėja yra sukurti įrankį, skirtą klasteryje įdiegtų programų konfigūracijoms analizuoti ir derinti. Autoriai daugiausia dėmesio skyrė šių savybių įgyvendinimui, bendresnius dalykus palikdami vėlesniam laikui.

Pagrindinės Kubevious savybės ir funkcijos:

  • Klasterio vizualizacija orientuota į programą: sąsajoje susiję objektai yra sugrupuoti, išdėstyti hierarchijoje.
  • Vizualus konfigūracijų priklausomybių ir pakopinių jų pakeitimų pasekmių atvaizdavimas.
  • Klasterio konfigūracijos klaidų rodymas: netinkamas etikečių naudojimas, praleisti prievadai ir kt. (Beje, jei jus domina ši funkcija, atkreipkite dėmesį į Polarisapie kuriuos mes jau rašė.)
  • Be ankstesnio punkto, galimas potencialiai pavojingų konteinerių aptikimas, t.y. per daug privilegijų (atributų hostPID, hostNetwork, hostIPC, kalnas docker.sock ir tt).
  • Išplėstinė klasterio paieškos sistema (ne tik pagal objektų pavadinimus, bet ir pagal jų savybes).
  • Pajėgumų planavimo ir išteklių optimizavimo įrankiai.
  • Integruota „laiko mašina“ (galimybė matyti ankstesnius objektų konfigūracijos pakeitimus).
  • RBAC valdymas su sukamąja, tarpusavyje susijusia rolių, vaidmenų surišimų, paslaugų paskyrų lentele.
  • Veikia tik su vienu klasteriu.

Projektas turi labai trumpą istoriją (pirmasis leidimas įvyko 11 m. vasario 2020 d.) ir atrodo, kad buvo arba stabilizavimosi, arba sulėtėjimo laikotarpis. Jei ankstesnės versijos buvo leidžiamos dažnai, tada naujausias leidimas (v0.5 15 m. balandžio 2020 d.) atsiliko nuo pradinio plėtros tempo. Greičiausiai taip yra dėl nedidelio prisidėjusiųjų skaičiaus: saugyklos istorijoje jų yra tik 4, o visą faktinį darbą atlieka vienas žmogus.

5. Kubewise

  • Projekto puslapis;
  • Licencija: patentuota (taps atviro kodo);
  • Trumpai: „Paprastas kelių platformų klientas, skirtas Kubernetes“.

„Kubernetes“ GUI apžvalga

Naujas VMware produktas, iš pradžių sukurtas kaip vidinio hakatono dalis (2019 m. birželio mėn.). Įdiegta asmeniniame kompiuteryje, veikia pagrindu elektronas (Palaikoma „Linux“, „MacOS“ ir „Windows“) ir reikalinga kubectl v1.14.0 arba naujesnė versija.

Pagrindinės „Kubewise“ savybės:

  • Sąsajos sąveika su dažniausiai naudojamais Kubernetes subjektais: mazgais, vardų erdvėmis ir kt.
  • Kelių skirtingų grupių kubeconfig failų palaikymas.
  • Terminalas su galimybe nustatyti aplinkos kintamąjį KUBECONFIG.
  • Sukurkite pasirinktinius kubeconfig failus nurodytai vardų erdvei.
  • Pažangios saugos funkcijos (RBAC, slaptažodžiai, paslaugų paskyros).

Kol kas projektas turi tik vieną leidimą – versiją 1.1.0 26 m. lapkričio 2019 d. Be to, autoriai planavo nedelsiant išleisti jį kaip atvirąjį kodą, tačiau dėl vidinių problemų (nesusijusių su techninėmis problemomis) jie negalėjo to padaryti. 2020 m. gegužės mėn. autoriai dirba su kita versija ir tuo pačiu metu turėtų inicijuoti kodo atidarymo procesą.

6. „OpenShift“ konsolė

„Kubernetes“ GUI apžvalga

Nepaisant to, kad ši žiniatinklio sąsaja yra „OpenShift“ paskirstymo dalis (ji įdiegiama naudojant specialus operatorius), autoriai numatyta galimybė įdiegti / naudoti įprastuose (vaniliniuose) Kubernetes įrenginiuose.

„OpenShift Console“ buvo kuriama ilgą laiką, todėl joje buvo daug funkcijų. Paminėsime pagrindinius:

  • Bendros sąsajos požiūris – dvi Konsolėje esančių galimybių „perspektyvos“: administratoriams ir kūrėjams. Režimas kūrėjo perspektyva sugrupuoja objektus kūrėjams suprantamesne forma (pagal programas) ir sutelkia sąsają į tokių tipiškų užduočių, kaip programų diegimas, kūrimo / diegimo būsenos stebėjimas ir net kodo redagavimas naudojant „Eclipse Che“, sprendimą.
  • Darbo krūvių, tinklo, saugyklos, prieigos teisių valdymas.
  • Loginis darbo krūvių atskyrimas į projektus ir programas. Viename iš naujausių leidimų - v4.3 - atsirado ypatinga projekto prietaisų skydelis, kuriame rodomi įprasti duomenys (diegimų skaičius ir būsenos, blokai ir kt.; išteklių suvartojimas ir kita metrika) projekto skiltyje.
  • Realiu laiku atnaujinamas klasterio būsenos, joje įvykusių pokyčių (įvykių) rodymas; žurnalų peržiūra.
  • Peržiūrėkite stebėjimo duomenis, pagrįstus Prometheus, Alertmanager ir Grafana.
  • Operatorių, kuriems atstovaujama, valdymas „OperatorHub“.
  • Tvarkykite versijas, kurios vykdomos per Docker (iš nurodytos saugyklos su Dockerfile), S2I arba savavališkos išorinės komunalinės paslaugos.

NB: Kitų į palyginimą neįtraukėme Kubernetes paskirstymai (pavyzdžiui, daug mažiau žinomų Kubesfera): nepaisant to, kad jose GUI gali būti labai pažangi, ji dažniausiai yra didelės sistemos integruoto kamino dalis. Tačiau jei manote, kad vanilla K8s instaliacijoje nėra pakankamai sprendimų, kurie pilnai funkcionuotų, praneškite mums komentaruose.

Premija

1. Portainer apie Kubernetes beta versijoje

  • Vieta;
  • saugykla (~100 GitHub žvaigždžių);
  • Licencija: Zlib(?) (tas pats ir pagrindiniam projektui).

Portainer komandos projektas, kuris sukūrė populiarią to paties pavadinimo sąsają darbui su Docker. Kadangi projektas yra ankstyvoje kūrimo stadijoje (pirmoji ir vienintelė beta versija išėjo 16 m. balandžio 2020 d.), neįvertinome jo savybių. Tačiau tai gali būti įdomu daugeliui: jei tai apie jus, sekite raidą.

2. „IcePanel“.

  • Vieta;
  • Licencija: nuosavybė;
  • Trumpai: „Visual Kubernetes Editor“.

„Kubernetes“ GUI apžvalga

Ši jauna darbalaukio programa skirta vizualizuoti ir valdyti Kubernetes išteklius realiuoju laiku naudojant paprastą vilkimo ir nuleidimo sąsają. Šiuo metu palaikomi objektai yra Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ir Secret. Netrukus jie žada pridėti paramą Helmui. Pagrindiniai trūkumai yra kodo artumas (tikimasi atidarymas "kažkaip") ir Linux palaikymo trūkumas (kol kas yra tik Windows ir MacOS versijos, nors tai taip pat greičiausiai tik laiko klausimas).

3.k9s

  • Vieta;
  • Demonstracija;
  • saugykla (~7700 GitHub žvaigždžių);
  • Licencija: Apache 2.0;
  • Trumpai: „Konsolės sąsaja, skirta Kubernetes, leidžianti stilingai valdyti savo grupę“.

„Kubernetes“ GUI apžvalga

Naudingumas buvo tik papildomoje peržiūros dalyje dėl to, kad ji siūlo konsolės GUI. Tačiau autoriai tiesiogine prasme išspaudė iš terminalo maksimumą, pasiūlydami ne tik patogią sąsają, bet ir 6 iš anksto nustatytas temas bei pažangią sparčiųjų klavišų ir komandų slapyvardžių sistemą. Jų kruopštus požiūris neapsiribojo išvaizda: k9s funkcijos yra maloniai įspūdingos: išteklių valdymas, klasterio būsenos rodymas, išteklių rodymas hierarchiniu vaizdu su priklausomybėmis, žurnalų peržiūra, RBAC palaikymas, galimybių išplėtimas naudojant papildinius... Visa tai džiugino. plačiai K8s bendruomenei: projekto „GitHub“ žvaigždžių skaičius yra beveik toks pat geras, kaip oficiali „Kubernetes“ prietaisų skydelis!

4. Programų valdymo pultai

O apžvalgos pabaigoje – atskira mini kategorija. Jame buvo dvi žiniatinklio sąsajos, skirtos ne visapusiškam Kubernetes klasterių valdymui, o jose įdiegtam valdymui.

Kaip žinote, vienas iš labiausiai brandžių ir labiausiai paplitusių įrankių sudėtingoms programoms Kubernetes diegti yra „Helm“. Per savo egzistavimo laikotarpį buvo sukaupta daug paketų (vairo diagramų), kad juos būtų lengva įdiegti daug populiarių programų. Todėl tinkamų vaizdinių įrankių, leidžiančių valdyti diagramų gyvavimo ciklą, atsiradimas yra gana logiškas.

4.1. Monokuliaras

  • saugykla (1300 ir daugiau „GitHub“ žvaigždžių);
  • Licencija: Apache 2.0;
  • Trumpai: „Žiniatinklio programa, skirta ieškoti ir atrasti Helm diagramas keliose saugyklose. Tai yra Helm hub projekto pagrindas.

„Kubernetes“ GUI apžvalga

Ši Helm autorių plėtra yra įdiegta Kubernetes ir veikia tame pačiame klasteryje, atlikdama užduotį. Tačiau šiuo metu projektas beveik neišplėtotas. Pagrindinis jo tikslas – remti Helm Hub egzistavimą. Kitiems poreikiams autoriai rekomenduoja Kubeapps (žr. toliau) arba Red Hat Automation Broker (OpenShift dalis, bet taip pat nebekuriama).

4.2. Kubeapps

  • Vieta;
  • Pristatymas;
  • saugykla (~2100 GitHub žvaigždžių);
  • Licencija: Apache 2.0
  • Trumpai: „Jūsų programos prietaisų skydelis, skirtas Kubernetes“.

„Kubernetes“ GUI apžvalga

„Bitnami“ produktas, kuris taip pat įdiegtas „Kubernetes“ klasteryje, tačiau skiriasi nuo „Monocular“ tuo, kad pradinis dėmesys skiriamas darbui su privačiomis saugyklomis.

Pagrindinės „Kubeapps“ funkcijos ir savybės:

  • Peržiūrėkite ir įdiekite Helm diagramas iš saugyklų.
  • Patikrinkite, atnaujinkite ir pašalinkite klasteryje įdiegtas „Helm“ programas.
  • Pasirinktinių ir privačių diagramų saugyklų palaikymas (palaiko ChartMuseum ir JFrog Artifactory).
  • Išorinių paslaugų peržiūra ir darbas su jomis – iš Paslaugų katalogo ir Paslaugų brokerių.
  • Įdiegtų programų publikavimas naudojant paslaugų katalogo susiejimo mechanizmą.
  • Autentifikavimo ir teisių atskyrimo palaikymas naudojant RBAC.

Santraukos lentelė

Žemiau yra suvestinė lentelė, kurioje bandėme apibendrinti ir apibendrinti pagrindines esamų vaizdinių sąsajų savybes, kad būtų lengviau palyginti:

„Kubernetes“ GUI apžvalga
(Internetinė lentelės versija galima rasti „Google“ dokumentuose.)

išvada

Kubernetes GUI yra gana specifinė ir jauna niša. Tačiau ji vystosi labai aktyviai: jau galima rasti ir gana brandžių sprendimų, ir labai jaunų, kuriems dar yra kur augti. Jie pritaikyti įvairioms programoms, siūlydami funkcijas ir išvaizdą, tinkančią beveik kiekvienam skoniui. Tikimės, kad ši apžvalga padės išsirinkti įrankį, kuris geriausiai atitinka dabartinius poreikius.

PS

Ačiū kvapas „OpenShift“ konsolės duomenims palyginimo lentelei!

Taip pat skaitykite mūsų tinklaraštyje:

Šaltinis: www.habr.com

Добавить комментарий