Järjestelmän täysimittaiseen työskentelyyn komentorivin apuohjelmien tuntemus on tärkeää: Kubernetesin tapauksessa tämä on kubectl. Toisaalta hyvin suunnitellut, harkitut graafiset käyttöliittymät voivat toimiaоuseimmat tavanomaiset tehtävät ja avaavat lisämahdollisuuksia järjestelmien toiminnalle.
Viime vuonna julkaisimme käännöksen pieni yleiskatsaus verkkokäyttöliittymästä Kubernetesille, ajoitettu samaan aikaan verkkokäyttöliittymän julkistamisen kanssa Kubernetes WebView. Tämän artikkelin kirjoittaja ja itse apuohjelma, Henning Jacobs Zalandosta, asettivat uuden tuotteen juuri nimellä "kubectl for the web". Hän halusi luoda työkalun käyttäjäystävällisillä ominaisuuksilla vuorovaikutukseen teknisen tuen muodossa (esimerkiksi ongelman nopeaan näyttämiseen web-linkin avulla) ja tapauksiin reagoimiseen, ongelmien etsimiseen useista klustereista samanaikaisesti. Hänen jälkeläisensä kehittyvät tällä hetkellä (lähinnä kirjoittajan itsensä ponnisteluilla).
Koska palvelemme monia erikokoisia Kubernetes-klustereita, olemme kiinnostuneita myös siitä, että pystymme tarjoamaan asiakkaillemme visuaalisen työkalun. Sopivan käyttöliittymän valinnassa seuraavat ominaisuudet olivat meille tärkeitä:
käyttäjäoikeuksien eriyttämisen tuki (RBAC);
nimitilan tilan ja Kubernetes-standardien primitiivien visualisointi (Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
päästä käsiksi podin sisällä olevaan komentoriviin;
Palojen lokien katselu;
katso palojen tila (describe status);
palojen poistaminen.
Muut toiminnot, kuten kulutettujen resurssien katseleminen (pod-/ohjain-/nimiavaruuksien yhteydessä), K8s-primitiivien luominen/muokkaus, eivät ole relevantteja työnkulussamme.
Aloitamme tarkistuksen klassisella Kubernetes Dashboardilla, joka on standardimme. Koska maailma ei pysähdy (mikä tarkoittaa, että Kubernetesilla on yhä enemmän uusia GUI:ita), puhumme myös sen nykyisistä vaihtoehdoista tiivistämällä kaiken artikkelin lopussa olevaan vertailevaan taulukkoon.
NB: Katsauksessa emme toista niiden ratkaisujen kanssa, joita on jo harkittu viimeinen artikkeliTäydellisyyden vuoksi sen asiaankuuluvat vaihtoehdot (K8Dash, Octant, Kubernetes Web View) on kuitenkin sisällytetty lopputaulukkoon.
Lyhyesti: "Universaali verkkokäyttöliittymä Kubernetes-klustereille. Sen avulla käyttäjät voivat hallita ja tehdä vianmäärityksiä klusterissa käynnissä olevia sovelluksia sekä hallita itse klusteria."
Tämä on yleiskäyttöinen paneeli, jonka Kubernetesin kirjoittajat kattavat virallisessa dokumentaatiossa (mutta ei ole käytettävissä oletus). Se on suunniteltu jokapäiväiseen käyttöön ja sovellusten virheenkorjaukseen klusterissa. Kotona käytämme sitä täysimittaisena kevyenä visuaalisena työkaluna, jonka avulla voimme tarjota kehittäjille tarvittavan ja riittävän pääsyn klusteriin. Sen ominaisuudet kattavat kaikki heidän tarpeensa, jotka syntyvät klusterin käyttöprosessissa (Vuonna tässä artikkelissa esitimme joitain paneelin ominaisuuksia). Kuten arvata saattaa, tämä tarkoittaa, että se täyttää kaikki yllä luetellut vaatimukset.
Kubernetes Dashboardin tärkeimmät ominaisuudet:
Navigointi: tarkastella K8s:n pääobjekteja nimiavaruuksien yhteydessä.
Jos sinulla on järjestelmänvalvojan oikeudet, paneeli näyttää solmut, nimitilat ja pysyvät taltiot. Solmujen osalta on saatavilla tilastoja muistin käytöstä, prosessorista, resurssien allokoinnista, mittareista, tilasta, tapahtumista jne.
Tarkastele nimiavaruudessa käyttöön otettuja sovelluksia niiden tyypin (Deployment, StatefulSet jne.), niiden välisten suhteiden (ReplicaSet, Horizontal Pod Autoscaler), yleisten ja henkilökohtaisten tilastotietojen ja tietojen mukaan.
Tarkastele palveluita ja sisääntuloja sekä niiden suhteita podeihin ja päätepisteisiin.
Tarkastele tiedostoobjekteja ja tallennusvälineitä: Persistent Volume ja Persistent Volume Claim.
Tarkastele ja muokkaa ConfigMap ja Secret.
Näytä lokit.
Komentorivikäyttö säiliöissä.
Merkittävä haittapuoli (ei kuitenkaan meille) on, että moniklusterityölle ei ole tukea. Yhteisö kehittää projektia aktiivisesti, ja se ylläpitää asiaankuuluvia ominaisuuksia Kubernetes API:n uusien versioiden ja spesifikaatioiden julkaisemisen myötä: paneelin uusin versio on v2.0.1 22 – Yhteensopivuus Kubernetes 2020:n kanssa testattu.
Projekti on sijoitettu täydelliseksi integroiduksi kehitysympäristöksi (IDE) Kubernetesille. Lisäksi se on optimoitu toimimaan useiden klustereiden ja niissä pyörivien suuren määrän podien kanssa (testattu 25 XNUMX podilla).
Linssin tärkeimmät ominaisuudet/ominaisuudet:
Itsenäinen sovellus, joka ei vaadi minkään asentamista klusterin sisään (tarkemmin sanottuna Prometheus vaaditaan saamaan kaikki mittarit, mutta tähän voidaan käyttää myös olemassa olevaa asennusta). "Pääasennus" tehdään henkilökohtaiseen tietokoneeseen, jossa on Linux, macOS tai Windows.
Usean klusterin hallinta (tuettu satoja klustereita).
Klusterin tilan visualisointi reaaliajassa.
Resurssien käyttökaaviot ja -trendit, joiden historia perustuu sisäänrakennettuun Prometheukseen.
Pääsy säilöjen ja klusterin solmujen komentoriville.
Täysi tuki Kubernetes RBAC:lle.
Nykyinen julkaisu - 3.5.0 päivätty 16 Alunperin Kontenan luoma, tänään kaikki immateriaalioikeudet on siirretty erityiselle organisaatiolle Lakeland Labs, jota kutsutaan "pilven natiivien ja teknologian asiantuntijoiden liitoksi", joka vastaa "Kontenan avoimen lähdekoodin ohjelmistojen ja tuotteiden säilyttämisestä ja saatavuudesta".
Lens on toiseksi suosituin projekti GitHubin GUI for Kubernetes -kategoriassa, "menettäen" vain itse Kubernets Dashboardin. Kaikki muut avoimen lähdekoodin ratkaisut, jotka eivät kuulu CLI*-kategoriaan, ovat huomattavasti heikompia suosioltaan.
Tämä on oma sovellus, joka asennetaan henkilökohtaiseen tietokoneeseen (Linux, macOS, Windows ovat tuettuja). Sen kirjoittajat lupaavat komentorivityökalun täydellisen korvaamisen, ja sen mukana - ei tarvitse muistaa komentoja ja jopa kymmenkertaistaa nopeutta.
Yksi työkalun mielenkiintoisista ominaisuuksista on sisäänrakennettu tuki Helm-kaavioille, ja yksi haitoista on sovellusten suorituskykymittareiden puute.
Kuberneticin pääominaisuudet:
Kätevä klusterin tilan näyttö. Yksi näyttö näyttää kaikki liittyvät klusteriobjektit ja niiden riippuvuudet; punainen/vihreä valmiustila kaikille kohteille; klusterin tilanäkymätila reaaliaikaisilla tilapäivityksillä.
Pikatoimintopainikkeet sovelluksen poistamiseen ja skaalaamiseen.
Tuki usean klusterin toiminnalle.
Yksinkertaista työskentelyä nimiavaruuksien kanssa.
Tuki Helm-kartoille ja Helm-tietovarastoille (mukaan lukien yksityiset). Kaavioiden asentaminen ja hallinta verkkokäyttöliittymässä.
Tuotteen tämänhetkinen hinta on 30 euron kertamaksu yhden henkilön käytöstä minkä tahansa määrän nimiavaruuksia ja klustereita kohden.
Lyhyesti sanottuna: "Kubevious tekee Kubernetes-klusterit, sovellusmääritykset ja tilan tarkastelun turvallisia ja helppoja ymmärtää."
Projektin ideana on luoda työkalu, joka on suunniteltu analysoimaan ja korjaamaan klusterissa käytössä olevia sovelluskokoonpanoja. Kirjoittajat keskittyivät ensisijaisesti näiden ominaisuuksien toteuttamiseen, jättäen yleisempiä asioita myöhempään.
Kubeviousin tärkeimmät ominaisuudet ja toiminnot:
Klusterivisualisointi sovelluskeskeisellä tavalla: käyttöliittymän toisiinsa liittyvät objektit ryhmitellään hierarkiassa.
Kokoonpanojen riippuvuuksien visuaalinen näyttö ja niiden muutosten peräkkäiset seuraukset.
Klusterin määritysvirheiden näyttö: tarrojen väärinkäyttö, porttien puuttuminen jne. (Muuten, jos olet kiinnostunut tästä ominaisuudesta, kiinnitä huomiota Polarisjosta me jo kirjoittanut.)
Edellisen kohdan lisäksi käytettävissä on mahdollisesti vaarallisten konttien havaitseminen, ts. joilla on liikaa oikeuksia (attribuutteja hostPID, hostNetwork, hostIPC, kiinnitys docker.sock jne).
Tarkennettu hakujärjestelmä klusterille (ei vain objektien nimien, vaan myös niiden ominaisuuksien perusteella).
Työkaluja kapasiteetin suunnitteluun ja resurssien optimointiin.
Sisäänrakennettu "aikakone" (kyky nähdä aikaisemmat muutokset objektien kokoonpanossa).
RBAC-hallinta Roolien, RoleBindings- ja ServiceAccounts-toimintojen toisiinsa liittyvän pivot-taulukon avulla.
Toimii vain yhden klusterin kanssa.
Projektilla on hyvin lyhyt historia (ensimmäinen julkaisu tapahtui 11) ja näyttää siltä, että kehityksessä on ollut joko vakauttamis- tai hidastuminen. Jos aiempia versioita julkaistiin usein, uusin versio (v0.5 15) on jäänyt jälkeen alkuperäisestä kehitysvauhdista. Tämä johtuu luultavasti avustajien pienestä määrästä: niitä on arkiston historiassa vain 2020 ja kaiken varsinaisen työn tekee yksi henkilö.
Lyhyesti: "Yksinkertainen usean alustan asiakas Kubernetesille."
VMwaren uusi tuote, joka luotiin alun perin osana sisäistä hackathonia (kesäkuussa 2019). Asennettu henkilökohtaiselle tietokoneelle, toimii pohjalta Elektroni (Linux, macOS ja Windows tuettu) ja vaatii kubectl v1.14.0 tai uudemman.
Kubewisen pääominaisuudet:
Käyttöliittymän vuorovaikutus yleisimmin käytettyjen Kubernetes-olioiden kanssa: solmut, nimitilat jne.
Tuki useille kubeconfig-tiedostoille eri klustereille.
Pääte, jossa on mahdollisuus asettaa ympäristömuuttuja KUBECONFIG.
Luo mukautettuja kubeconfig-tiedostoja annetulle nimiavaruudelle.
Kehittyneet suojausominaisuudet (RBAC, salasanat, palvelutilit).
Toistaiseksi projektilla on vain yksi julkaisu - versio 1.1.0 päivätty 26. Lisäksi kirjoittajat suunnittelivat julkaisevansa sen välittömästi avoimena lähdekoodina, mutta sisäisten ongelmien vuoksi (jotka eivät liity teknisiin ongelmiin) he eivät voineet tehdä sitä. Toukokuusta 2019 lähtien kirjoittajat työskentelevät seuraavan julkaisun parissa, ja heidän pitäisi käynnistää koodin avaamisprosessi samaan aikaan.
Huolimatta siitä, että tämä verkkokäyttöliittymä on osa OpenShift-jakelua (se asennetaan sinne käyttämällä erikoisoperaattori), kirjoittajat ennakoitu kyky asentaa / käyttää sitä normaaleissa (vanilja) Kubernetes-asennuksissa.
OpenShift Consolea on kehitetty pitkään, joten se on sisältänyt monia ominaisuuksia. Mainitsemme tärkeimmät:
Jaettu käyttöliittymä - kaksi "näkökulmaa" konsolissa saatavilla oleviin mahdollisuuksiin: järjestelmänvalvojille ja kehittäjille. tila kehittäjän näkökulmasta ryhmittelee objektit kehittäjille (sovelluskohtaisesti) ymmärrettävämpään muotoon ja keskittää käyttöliittymän sellaisten tyypillisten tehtävien ratkaisemiseen, kuten sovellusten käyttöönotto, rakentamisen/käyttöönoton tilan seuranta ja jopa koodin muokkaaminen Eclipse Chen kautta.
Looginen työkuormien erottelu projekteihin ja sovelluksiin. Yhdessä uusimmista julkaisuista - v4.3 - ilmestyi специальный Projektin hallintapaneeli, joka näyttää tavanomaiset tiedot (käyttöönottojen, ryhmittymien jne. lukumäärä ja tilat; resurssien kulutus ja muut mittarit) projektilohkossa.
Hallitse Dockerin kautta suoritettavia koontiversioita (määritetystä arkistosta, jossa on Docker-tiedosto), S2I tai mielivaltaisia ulkoisia apuohjelmia.
NB: Emme lisänneet muita vertailuun Kubernetes-jakelut (esimerkiksi paljon vähemmän tunnettu Kubesfääri): huolimatta siitä, että graafinen käyttöliittymä voi olla niissä erittäin edistynyt, se tulee yleensä osana suuren järjestelmän integroitua pinoa. Jos kuitenkin uskot, että vanilla K8s -asennuksessa ei ole tarpeeksi täysin toimivia ratkaisuja, kerro siitä meille kommenteissa.
Portainer-tiimin projekti, joka kehitti samannimisen suositun käyttöliittymän Dockerin kanssa työskentelyyn. Koska projekti on varhaisessa kehitysvaiheessa (ensimmäinen ja ainoa beta-versio tuli ulos 16), emme arvioineet sen ominaisuuksia. Se voi kuitenkin kiinnostaa monia: jos tämä koskee sinua, seuraa kehitystä.
Tämä nuori työpöytäsovellus pyrkii visualisoimaan ja hallitsemaan Kubernetes-resursseja reaaliajassa yksinkertaisella vedä ja pudota -käyttöliittymällä. Tällä hetkellä tuettuja objekteja ovat Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ja Secret. Pian he lupaavat lisätä tukea Helmille. Tärkeimmät haitat ovat koodin läheisyys (se on odotettavissa avaaminen "jollain tavalla") ja Linux-tuen puute (toistaiseksi vain Windows- ja macOS-versiot ovat saatavilla, vaikka tämäkin on todennäköisesti vain ajan kysymys).
Lyhyesti: "Kubernetesin konsolikäyttöliittymä, jonka avulla voit hallita klusteriasi tyylikkäästi."
Apuohjelma oli vain arvostelun bonusosassa siitä syystä, että se tarjoaa konsolin käyttöliittymän. Kirjoittajat kuitenkin puristivat kirjaimellisesti maksimin ulos päätteestä tarjoten käyttäjäystävällisen käyttöliittymän lisäksi myös 6 ennalta määritettyä teemaa sekä kehittyneen pikanäppäinjärjestelmän ja komentoaliaksien. Heidän perusteellinen lähestymistapansa ei rajoittunut ulkonäköön: k9s:n ominaisuudet ovat miellyttävän vaikuttavia: resurssien hallinta, klusterin tilan näyttäminen, resurssien näyttäminen hierarkkisessa esityksessä riippuvuuksineen, lokien katselu, RBAC-tuki, ominaisuuksien laajentaminen laajennusten avulla... Kaikki tämä houkutteli laajalle K8s-yhteisölle: määrä Projektin GitHub-tähdet ovat melkein yhtä hyviä kuin virallinen Kubernetes Dashboard!
4. Sovelluksen ohjauspaneelit
Ja arvostelun lopussa - erillinen miniluokka. Se sisälsi kaksi verkkokäyttöliittymää, jotka ei suunniteltu Kubernetes-klusterien kattavaan hallintaan, vaan niissä käytettävän hallintaan.
Kuten tiedät, Helm on yksi kypsimmistä ja yleisimmistä työkaluista monimutkaisten sovellusten käyttöönottoon Kubernetesissa. Sen olemassaolon aikana on kertynyt monia paketteja (Helm-kaavioita), jotka on helppo ottaa käyttöön monia suosittuja sovelluksia. Siksi sopivien visuaalisten työkalujen esiintyminen, joiden avulla voit hallita kaavioiden elinkaarta, on varsin loogista.
Lyhyesti: "Web-sovellus Helm-kaavioiden etsimiseen ja löytämiseen useista arkistoista. Toimii pohjana Helm hub -projektille."
Tämä Helmin tekijöiden kehitystyö on asennettu Kubernetesiin ja toimii samassa klusterissa suorittaen tehtävän. Tällä hetkellä hanketta ei kuitenkaan ole juuri kehitetty. Sen päätarkoituksena on tukea Helm Hubin olemassaoloa. Muihin tarpeisiin kirjoittajat suosittelevat Kubeappsia (katso alla) tai Red Hat Automation Brokeria (osa OpenShiftiä, mutta ei myöskään enää kehitteillä).
Bitnamin tuote, joka on myös asennettu Kubernetes-klusteriin, mutta eroaa Monocularista siinä, että se keskittyy alun perin työskentelemään yksityisten tietovarastojen kanssa.
Kubeappsin tärkeimmät toiminnot ja ominaisuudet:
Tarkastele ja asenna Helm-kaavioita arkistoista.
Tarkista, päivitä ja poista klusteriin asennetut Helm-pohjaiset sovellukset.
Tuki mukautetuille ja yksityisille kaaviovarastoja (tukee ChartMuseumia ja JFrog Artifactoryta).
Ulkoisten palvelujen katselu ja työskentely - palveluluettelosta ja palveluvälittäjistä.
Asennettujen sovellusten julkaiseminen Service Catalog Bindings -mekanismin avulla.
Tuki todennuksen ja oikeuksien erottamiseen RBAC:n avulla.
Yhteenvetotaulukko
Alla on yhteenvetotaulukko, jossa olemme yrittäneet tiivistää ja koota olemassa olevien visuaalisten käyttöliittymien pääominaisuudet vertailun helpottamiseksi:
Kubernetesin graafiset käyttöliittymät ovat melko spesifinen ja nuori markkinarako. Se kuitenkin kehittyy erittäin aktiivisesti: jo on mahdollista löytää sekä varsin kypsiä ratkaisuja että hyvin nuoria, joilla on vielä tilaa kasvaa. Ne sopivat erilaisiin sovelluksiin ja tarjoavat ominaisuuksia ja ulkoasuja, jotka sopivat melkein jokaiseen makuun. Toivomme, että tämä arvostelu auttaa sinua valitsemaan työkalun, joka parhaiten vastaa nykyisiä tarpeitasi.