Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Ohar. itzul.: Jatorrizko materialaren egilea Zalandoko Henning Jacobs da. Kubernetesekin lan egiteko web interfaze berri bat sortu zuen, "sarerako kubectl" gisa kokatuta dagoena. Zergatik agertu zen Open Source proiektu berri bat eta zer irizpide ez ziren betetzen lehendik zeuden soluzioek - irakurri bere artikulua.

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Argitalpen honetan, Kubernetes kode irekiko hainbat web interfaze berrikusten ditut, UI unibertsal baterako nire eskakizunak azaltzen ditut eta zergatik garatu dudan azaltzen dut. Kubernetes WebView β€” Hainbat kluster aldi berean onartzea eta arazoak konpontzea errazteko diseinatutako interfazea.

Erabilera kasuak

Zalandon Kubernetesen erabiltzaile kopuru handi bat (900+) eta kluster (100+) zerbitzatzen dugu. Web-tresna dedikatu bati mesede egingo dioten erabilera-kasu arrunt pare bat daude:

  1. laguntzarako lankideekin komunikazioa;
  2. gertakariei erantzutea eta horien arrazoiak ikertzea.

Lagundu

Nire esperientziaren arabera, laguntza-komunikazioak askotan honelakoak dira:

β€” Laguntza, gure XYZ zerbitzua ez dago erabilgarri!
β€” Zer ikusten duzu antzezten duzunean kubectl describe ingress ...?

Edo antzeko zerbait CRDrentzat:

β€” Arazoren bat daukat identifikazio zerbitzuarekin...
β€” Zer sortzen du aginduak? kubectl describe platformcredentialsset ...?

Komunikazio hori komandoaren hainbat aldaera sartzera iristen da kubectl arazoa identifikatzeko. Ondorioz, elkarrizketan parte hartzen duten biak terminal eta web txataren artean etengabe aldatzera behartuta daude, gainera beste egoera bat ikusten dute.

Horregatik, Kubernetes web frontend-ak honako hau baimentzea gustatuko litzaidake:

  • erabiltzaileek izan dezakete estekak trukatu eta behatu gauza bera;
  • lagunduko luke giza akatsak saihestu laguntzan: adibidez, komando-lerroko kluster okerrean saioa hastea, CLI komandoetan akatsak, etab.;
  • ahalbidetuko luke sortu zure iritziak lankideei bidaltzeko, hau da, etiketa-zutabeak gehitu, baliabide mota asko orrialde batean bistaratu;
  • Egokiena, web-tresna honek ezartzeko aukera eman beharko luke YAMLren atal zehatzetarako estekak "sakonak". (adibidez, hutsegiteak eragiten dituen parametro oker bat adieraziz).

Gorabeheren erantzuna eta analisia

Azpiegituretako gertakariei erantzuteko egoeraren kontzientzia, eragina ebaluatzeko eta klusterretan ereduak bilatzeko gaitasuna behar da. Bizitza errealeko adibide batzuk:

  • Produkzio-zerbitzu kritiko bat arazoak izaten ari da eta behar duzu aurkitu Kubernetes baliabide guztiak izenez kluster guztietanarazoak konpontzeko;
  • nodoak erortzen hasten dira eskalatzean eta behar duzu aurkitu kluster guztietan "Zain" egoera duten pod guztiakarazoaren irismena ebaluatzeko;
  • Erabiltzaile indibidualak kluster guztietan inplementatutako DaemonSet-ekin arazo baten berri ematen ari dira eta asmatu behar dute Arazoa guztizkoa al da?.

Nire irtenbide estandarra horrelako kasuetan antzeko zerbait da for i in $clusters; do kubectl ...; done. Jakina, antzeko gaitasunak eskaintzen dituen tresna bat garatu liteke.

Lehendik dauden Kubernetes web interfazeak

Kubernetes-en web-interfazeen kode irekiko mundua ez da oso handia*, beraz, informazio gehiago biltzen saiatu nintzen erabiliz. Twitter:

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

*Kubernetes-en web-interfaze kopuru mugatuari buruzko nire azalpena: hodeiko zerbitzuek eta Kubernetes-eko saltzaileek beren frontend-ak eskaintzen dituzte normalean, beraz, Kubernetes UI doako "on"en merkatua nahiko txikia da.

Jakin nuen txio baten bidez K8Dash, Kubernator ΠΈ Octantea. Ikus ditzagun horiek eta dauden Kode Irekiko beste irtenbide batzuk, saia gaitezen zer diren ulertzen.

K8Dash

"K8Dash Kubernetes kluster bat kudeatzeko modurik errazena da".

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

K8Dash Itxura ona du eta azkar sentitzen da, baina desabantaila batzuk ditu goian aipatutako erabilera kasuetarako:

  • Kluster baten mugen barruan bakarrik funtzionatzen du.
  • Ordenatzea eta iragaztea posible da, baina ez dute esteka iraunkorrik.
  • Ez dago baliabide pertsonalizatuen definizioetarako (CRD) laguntzarik.

Kubernator

"Kubernator Kubernetesentzako UI alternatibo bat da. Goi-mailako Kubernetes Arbelak ez bezala, maila baxuko kontrol eta ikusgarritasun bikaina eskaintzen du klusterreko objektu guztietan, berriak sortzeko, editatzeko eta gatazkak konpontzeko gaitasunarekin. Erabat bezeroaren aldeko aplikazioa denez (kubectl bezalakoa), ez du behar Kubernetes API zerbitzaria bera ez den backend-a eta, gainera, klusterren sarbide-arauak errespetatzen ditu.

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Hau nahiko deskribapen zehatza da Kubernator. Zoritxarrez, ezaugarri batzuk falta ditu:

  • Kluster bakarra zerbitzatzen du.
  • Ez dago zerrenda ikusteko modurik (hau da, ezin dituzu "Zain" egoera duten pod guztiak erakutsi).

Kubernetes panela

"Kubernetes Dashboard Kubernetes klusterrentzako web interfaze unibertsala da. Erabiltzaileek kluster batean exekutatzen diren aplikazioak kudeatzeko eta arazoak konpontzeko aukera ematen die, baita klusterra bera kudeatzeko ereΒ».

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Zoritxarrez, Kubernetes panela ez du benetan laguntzen nire laguntza eta gertakariei erantzuteko jardueretan, zeren eta:

  • ez dago lotura iraunkorrik, adibidez baliabideak iragazten ditudanean edo ordena aldatzean;
  • ez dago egoeraren arabera iragazteko modu errazik; adibidez, ikusi "Zain" egoera duten pod guztiak;
  • kluster bakarra onartzen da;
  • CRDak ez dira onartzen (eginbide hau garatzen ari da);
  • ez dago zutabe pertsonalizaturik (motaren arabera etiketatutako zutabeak adibidez kubectl -L).

Kubernetes-en ikuspegi operatiboa (kube-ops-view)

"K8s Cluster Space-rako System Dashboard Observer".

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Π£ Kubernetesen ikuspegi operatiboa Ikuspegi guztiz ezberdina: tresna honek WebGL erabiliz kluster-nodoak eta lekak soilik erakusten ditu, testu-objektuaren xehetasunik gabe. Oso ona da klusterraren osasunaren ikuspegi orokor azkar bat egiteko (pods erortzen ari al dira?)*, baina ez da egokia goian deskribatutako laguntza eta gertakarien erantzunaren erabilera kasuetarako.

* Ohar. itzul.: Zentzu honetan, gure plugina ere interesatuko zaizu grafana-statusmap, bertan zehatzago hitz egin genuen Artikulu honetan.

Kubernetes baliabideen txostena (kube-resource-report)

"Bildu pod eta Kubernetes kluster baliabideen eskaerak, alderatu baliabideen kontsumoarekin eta sortu HTML estatikoa".

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Kubernetes baliabideen txostena Baliabideen erabilerari eta kostuen banaketari buruzko HTML txosten estatikoak sortzen ditu klusterretan talde/aplikazioetan. Txostena zertxobait erabilgarria da laguntzarako eta gertakariei erantzuteko, aplikazioa inplementatzen den clusterra azkar aurkitzeko aukera ematen baitu.

Ohar. itzul.: Zerbitzu eta tresna bat ere erabilgarria izan daiteke hodeiko hornitzaileen artean baliabideen esleipenari eta horien kostuei buruzko informazioa ikusteko. Kubecost, berrikusten duguna duela gutxi argitaratua.

Octantea

"Kubernetes klusterren konplexutasuna hobeto ulertzeko diseinatutako garatzaileentzako web plataforma hedagarria".

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Octantea, VMware-k sortua, duela gutxi ezagutu dudan produktu berria da. Haren laguntzarekin, erosoa da klusterra tokiko makina batean arakatzea (bisualizazioak ere badaude), baina laguntza- eta gertakarien erantzun-arazoak neurri mugatu batean bakarrik lantzen ditu. Octant-en desabantailak:

  • Ez dago kluster bilaketarik.
  • Tokiko makinan bakarrik funtzionatzen du (ez da kluster batean zabaltzen).
  • Ezin dira objektuak ordenatu/iragazi (etiketa-hautatzailea bakarrik onartzen da).
  • Ezin duzu zutabe pertsonalizatuak zehaztu.
  • Ezin dituzu objektuak zerrendatu izen-espazioaren arabera.

Zalando klusterrekin Octant-en egonkortasunarekin ere arazoak izan nituen: CRD batzuetan erortzen ari zen.

Kubernetes Web View aurkezten

"sarerako kubectl".

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)

Kubernetes-en eskuragarri dauden interfaze-aukerak aztertu ondoren, berri bat sortzea erabaki nuen: Kubernetes WebView. Azken finean, egia esan, botere guztia besterik ez dut behar kubectl sarean, hots:

  • Erabiltzaileek kubectl erabili nahiago duten (irakurtzeko soilik) eragiketa guztien erabilgarritasuna;
  • URL guztiek iraunkorrak izan behar dute eta orria bere jatorrizko forman irudikatu behar dute, lankideek partekatu eta beste tresna batzuetan erabili ahal izateko;
  • Kubernetes objektu guztien euskarria, edozein arazo mota konpontzeko aukera emango duena;
  • Baliabide-zerrendak deskargatu behar dira lan gehiagorako (kalkulu-orrietan, CLI tresnetan, esaterako grep) eta biltegiratzea (adibidez, autopsiak egiteko);
  • Baliabideak etiketa bidez hautatzeko laguntza (en antzekoa kubectl get .. -l);
  • baliabide mota ezberdinen zerrenda konbinatuak sortzeko gaitasuna (en antzekoa kubectl get all) lankideen artean operazio-irudi komun bat lortzeko (adibidez, gertakarien erantzun batean);
  • esteka sakon adimendun pertsonalizatuak gehitzeko gaitasuna, hala nola aginte-panelak, erregistratzaileak, aplikazioen erregistroak, etab. akatsak konpontzea/konpontzea eta gorabeherei erantzutea erraztea;
  • Frontend-ak ahalik eta sinpleena izan behar du (HTML hutsa) ausazko arazoak ekiditeko, adibidez, JavaScript izoztua;
  • Hainbat klusterren laguntza urrutiko kontsultan elkarrekintza errazteko (adibidez, URL bakarra gogoratzeko);
  • Ahal izanez gero, egoera-analisia sinplifikatu beharko litzateke (adibidez, kluster/izen-espazio guztietarako baliabideak deskargatzeko estekekin);
  • esteka malguak sortzeko eta testu-informazioa nabarmentzeko aukera osagarriak, adibidez, lankideek baliabideen deskribapenean atal zehatz batera bideratu ahal izateko (YAML-ko lerro bat);
  • bezero zehatz baten eskakizunetara pertsonalizatzeko gaitasuna, adibidez, CRDetarako pantaila-txantiloi bereziak sortzeko, zure taulen ikuspegi propioak eta CSS estiloak aldatzeko aukera emanez;
  • komando lerroan gehiago arakatzeko tresnak (adibidez, komando osoak erakustea kubectl, kopiatzeko prest);

Kubernetes Web View-n ebatzitako zereginetatik haratago (ez-goleak) geratu zen:

  • Kubernetes objektuen abstrakzioa;
  • aplikazioen kudeaketa (adibidez, inplementazioaren kudeaketa, Helm diagramak, etab.);
  • idazteko eragiketak (CI/CD eta/edo GitOps tresna seguruen bidez egin behar dira);
  • interfaze ederra (JavaScript, gaiak, etab.);
  • bistaratzea (ikus kube-ops-view);
  • kostuen azterketa (ikus kube-baliabide-txostena).

Nola laguntzen du Kubernetes Web View-ek laguntzarekin eta gertakariei erantzuten?

Lagundu

  • Esteka guztiak iraunkorrak dira, lankideekin informazioa trukatzea errazten duena.
  • Sor dezakezu zure ideiak, adibidez, bistaratu etiketa zehatz bat duten Inplementazio eta Pod guztiak bi multzo zehatzetan (lokan hainbat kluster izen eta baliabide mota zehaztu daitezke, komaz bereizita).
  • Aipatu dezakezu YAML fitxategi bateko lerro zehatzak objektua, objektuaren zehaztapenean balizko arazoak adieraziz.

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)
Bilatu klusterren arabera Kubernetes Web View-n

Gorabeheren Erantzuna

  • Bilaketa globala (bilaketa globala) kluster guztietan objektuak bilatzeko aukera ematen du.
  • Zerrenda-ikuspegiak egoera/zutabe jakin bat duten objektu guztiak bistaratu ditzake kluster guztietan (adibidez, "Zain" egoera duten pod guztiak aurkitu behar ditugu).
  • Objektuen zerrendak deskargatu daitezke tab-separated value (TSV) formatuan, gero aztertzeko.
  • Kanpo-esteka pertsonalizagarriak Erlazionatutako aginte-paneletara eta beste tresna batzuetara aldatzeko aukera ematen du.

Kubernetes Web View-ren iragarpena (eta Kubernetes-en beste web IU batzuen ikuspegi laburra)
Kubernetes Web View: kluster guztietan "Zain" egoera duten poden zerrenda

Kubernetes Web View probatu nahi baduzu, egiaztatzea gomendatzen dizut dokumentazioa edo begiratu zuzeneko demoa.

Jakina, interfazea hobea izan liteke, baina oraingoz Kubernetes Web View tresna bat da, behar izanez gero, URL bideak eskuz manipulatzeari uko egiten ez dioten "erabiltzaile aurreratuentzako". Iruzkin/gehikuntza/iradokizunik baduzu, jarri harremanetan nirekin Twitterren!

Artikulu hau Kubernetes Web View-ren sorrera ekarri zuen aurrekarien historia laburra da. Gehiago etorriko dira! (Ohar. itzul.: urtean espero behar dira egilearen bloga.)

PS itzultzailearengandik

Irakurri ere gure blogean:

Iturria: www.habr.com

Gehitu iruzkin berria