
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 Kubernetesille, ajoitettu samaan aikaan verkkokäyttöliittymän julkistamisen kanssa . 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 Täydellisyyden vuoksi sen asiaankuuluvat vaihtoehdot (K8Dash, Octant, Kubernetes Web View) on kuitenkin sisällytetty lopputaulukkoon.
1. Kubernetes Dashboard
- ;
- (8000+ GitHub-tähteä);
- Lisenssi: Apache 2.0;
- 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 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 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 22 – Yhteensopivuus Kubernetes 2020:n kanssa testattu.
2. Linssi
- ;
- ;
- (~ 4800 GitHub-tähteä);
- Lisenssi: MIT;
- Lyhyesti: "Kubernetes IDE".

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:
- Erillinen sovellus, joka ei vaadi asennusta klusterin sisällä (tarkemmin sanottuna Prometheus vaaditaan kaikkien mittareiden hankkimiseen, mutta tähän voidaan käyttää olemassa olevaa asennusta). "Pääasennus" suoritetaan tietokoneella, 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 - päivätty 16 Alunperin Kontenan luoma, tänään kaikki immateriaalioikeudet on siirretty erityiselle organisaatiolle , 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.
* Katso K9:istä arvostelun bonusosassa.
3. Kubernetic
- ;
- ;
- (200+ GitHub-tähteä);
- Lisenssi: oma;
- Lyhyesti: "Klusterin hallinta on tehty helpoksi."

Tämä on oma sovellus, joka asennetaan henkilökohtaiseen tietokoneeseen (tuettu Linux, macOS, WindowsSen luojat lupaavat komentorivityökalun täydellisen korvaamisen, poistaen komentojen muistamisen tarpeen ja jopa kymmenkertaistaen käyttönopeuden.
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.
4. Kubevious
- ;
- ;
- (~ 500 GitHub-tähteä);
- Lisenssi: Apache 2.0
- 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 josta me .)
- Edellisen kohdan lisäksi käytettävissä on mahdollisesti vaarallisten konttien havaitseminen, ts. joilla on liikaa oikeuksia (attribuutteja
hostPID,hostNetwork,hostIPC, kiinnitysdocker.sockjne). - 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 ( 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ö.
5. Kubewise
- ;
- Lisenssi: omistusoikeus (tulee avoimeksi lähdekoodiksi);
- 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 (tuettu) Linux, macOS и Windows) ja vaatii kubectl-version, joka ei ole vanhempi kuin v1.14.0.
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 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.
6. OpenShift-konsoli
- ;
- (~ 150 GitHub-tähteä);
- Lisenssi: Apache 2.0;
- Lyhyesti: "UI for OpenShift Clusters".

Huolimatta siitä, että tämä verkkokäyttöliittymä on osa OpenShift-jakelua (se asennetaan sinne käyttämällä ), kirjoittajat 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.
- Työkuormien hallinta, verkko, tallennus, käyttöoikeudet.
- Looginen työkuormien erottelu projekteihin ja sovelluksiin. Yhdessä uusimmista julkaisuista - v4.3 - специальный Projektin hallintapaneeli, joka näyttää tavanomaiset tiedot (käyttöönottojen, ryhmittymien jne. lukumäärä ja tilat; resurssien kulutus ja muut mittarit) projektilohkossa.
- Päivitetty reaaliaikainen näyttö klusterin tilasta, siinä tapahtuneista muutoksista (tapahtumista); lokien katselu.
- Tarkastele seurantatietoja, jotka perustuvat Prometheukseen, Alertmanageriin ja Grafanaan.
- Edustettuina olevien toimijoiden hallinta .
- Hallitse Dockerin kautta suoritettavia koontiversioita (määritetystä arkistosta, jossa on Docker-tiedosto), tai mielivaltaisia ulkoisia apuohjelmia.
NB: Emme lisänneet muita vertailuun Kubernetes-jakelut (esimerkiksi paljon vähemmän tunnettu ): 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.
Bonus
1. Portainer Kubernetesin betaversiossa
- ;
- (~ 100 GitHub-tähteä);
- Lisenssi: Zlib(?) (sama emoprojektiin).
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 16), emme arvioineet sen ominaisuuksia. Se voi kuitenkin kiinnostaa monia: jos tämä koskee sinua, seuraa kehitystä.
2. IcePanel
- ;
- Lisenssi: oma;
- Lyhyesti: "Visual Kubernetes Editor".

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 ) ja tuen puute Linux (saatavilla on vain toistaiseksi voimassa olevia versioita) Windows и macOS, vaikka tämäkin on todennäköisesti vain ajan kysymys).
3.k9s
- ;
- ;
- (~ 7700 GitHub-tähteä);
- Lisenssi: Apache 2.0;
- 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 . Siksi sopivien visuaalisten työkalujen esiintyminen, joiden avulla voit hallita kaavioiden elinkaarta, on varsin loogista.
4.1. Monokulaarinen
- (1300+ GitHub-tähteä);
- Lisenssi: Apache 2.0;
- 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ä).
4.2. Kubeapps
- ;
- ;
- (~ 2100 GitHub-tähteä);
- Lisenssi: Apache 2.0
- Lyhyesti: "Sovelluksesi hallintapaneeli Kubernetesille."

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:
(Taulukon verkkoversio .)
Johtopäätös
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.
PS.
Kiitos OpenShift-konsolin tiedoista vertailutaulukkoa varten!
Lue myös blogistamme:
- «";
- «";
- «";
- «'.
Lähde: will.com
