Muhtasari wa GUI za Kubernetes

Muhtasari wa GUI za Kubernetes

Ili kufanya kazi kikamilifu na mfumo, ni muhimu kujua huduma za mstari wa amri: katika kesi ya Kubernetes, hii ni kubectl. Kwa upande mwingine, GUI zilizoundwa vizuri, zilizofikiriwa vizuri zinaweza kufanyaΠΎkazi nyingi za kawaida na kufungua fursa za ziada wakati mifumo ya uendeshaji.

Mwaka jana tulichapisha tafsiri muhtasari mfupi wa UI ya wavuti kwa Kubernetes, iliyojitolea kwa tangazo la kiolesura cha wavuti Kubernetes Web View. Mwandishi wa makala hayo na matumizi yenyewe, Henning Jacobs kutoka kampuni ya Zalando, aliweka bidhaa mpya kama "kubectl kwa wavuti." Alitaka kuunda chombo kilicho na uwezo rahisi wa kuingiliana katika muundo wa msaada wa kiufundi (kwa mfano, haraka kuonyesha tatizo na kiungo cha wavuti) na kwa kukabiliana na matukio, kutafuta matatizo katika makundi mengi kwa wakati mmoja. Ubongo wake bado unaendelezwa hadi leo (hasa na mwandishi mwenyewe).

Kutumikia vikundi vingi vya Kubernetes vya ukubwa tofauti, tunavutiwa pia na uwezo wa kuwapa wateja zana ya kazi inayoonekana. Wakati wa kuchagua kiolesura kinachofaa, vipengele vifuatavyo vilikuwa muhimu kwetu:

  • usaidizi wa kutofautisha haki za mtumiaji (RBAC);
  • taswira ya hali ya nafasi ya majina na asili za kawaida za Kubernetes (Usambazaji, StatefulSet, Huduma, Cronjob, Job, Ingress, ConfigMap, Secret, PVC);
  • kupata ufikiaji wa mstari wa amri ndani ya ganda;
  • kutazama magogo ya pod;
  • kuangalia hali ya maganda (describe status);
  • kuondoa maganda.

Vitendo vingine, kama vile kuangalia rasilimali zinazotumiwa (kwa ganda/vidhibiti/nafasi za majina), kuunda/kuhariri vipengee vya awali vya K8, hazifai katika mtiririko wetu wa kazi.

Tutaanza ukaguzi na Dashibodi ya Kubernetes ya kawaida, ambayo inakubaliwa kama kiwango chetu. Kwa kuwa ulimwengu haujasimama (ambayo inamaanisha kuwa GUI mpya zinaonekana katika Kubernetes), tutazungumza pia juu ya mbadala zake za sasa, kwa muhtasari wa kila kitu kwenye jedwali la kulinganisha mwishoni mwa kifungu.

NB: Katika hakiki hatutarudia suluhu hizo ambazo tayari zimezingatiwa makala ya mwisho, hata hivyo - kwa ajili ya ukamilifu - chaguo muhimu kutoka kwake (K8Dash, Octant, Kubernetes Web View) zimejumuishwa kwenye jedwali la mwisho.

1. Dashibodi ya Kubernetes

  • Ukurasa wa hati;
  • hazina (nyota 8000+ za GitHub);
  • Leseni: Apache 2.0;
  • Kwa kifupi: "Kiolesura cha wavuti cha ulimwengu kwa vikundi vya Kubernetes. Huruhusu watumiaji kudhibiti na kutatua programu zinazoendeshwa katika kundi, na pia kudhibiti nguzo yenyewe.

Muhtasari wa GUI za Kubernetes

Hili ni jopo la madhumuni ya jumla lililofunikwa na waandishi wa Kubernetes katika hati rasmi (lakini haiwezi kupelekwa chaguo-msingi). Imekusudiwa kwa mahitaji ya uendeshaji wa kila siku na utatuzi wa programu katika kundi. Tunaitumia hapa kama zana kamili ya kuona nyepesi ambayo huturuhusu kuwapa wasanidi programu ufikiaji unaohitajika na wa kutosha kwa nguzo. Uwezo wake unashughulikia mahitaji yao yote yanayotokea katika mchakato wa kutumia nguzo (ndani Makala hii tulionyesha baadhi ya vipengele vya paneli). Kama unavyoweza kukisia kwa urahisi, hii inamaanisha kuwa inakidhi mahitaji yetu yote yaliyoorodheshwa hapo juu.

Miongoni mwa sifa kuu za Dashibodi ya Kubernetes:

  • Urambazaji: Tazama vitu kuu vya K8s kwa nafasi ya majina.
  • Ikiwa una haki za msimamizi, kidirisha kinaonyesha nodi, nafasi za majina, na Kiasi Kinachoendelea. Takwimu za matumizi ya kumbukumbu na kichakataji, ugawaji wa rasilimali, vipimo, hali, matukio, n.k. zinapatikana kwa nodi.
  • Tazama programu zilizowekwa katika nafasi ya majina kulingana na aina zao (Deployment, StatefulSet, n.k.), miunganisho kati yao (ReplicaSet, Horizontal Pod Autoscaler), takwimu na taarifa za jumla na zilizobinafsishwa.
  • Tazama huduma na Ingresses, pamoja na miunganisho yao na maganda na miisho.
  • Tazama vipengee vya faili na hifadhi: Kiasi Kinachoendelea na Madai ya Kiasi Kinachoendelea.
  • Tazama na uhariri ConfigMap na Siri.
  • Tazama kumbukumbu.
  • Ufikiaji wa mstari wa amri kwenye vyombo.

Kikwazo kikubwa (sio kwetu, hata hivyo) ni kwamba hakuna msaada kwa uendeshaji wa makundi mengi. Mradi huu unaendelezwa kikamilifu na jumuiya na inasaidia utendakazi wa sasa na kutolewa kwa matoleo mapya na vipimo vya Kubernetes API: toleo jipya zaidi la paneli ni. v2.0.1 Tarehe 22 Mei 2020 - Ilijaribiwa ili kuona uoanifu na Kubernetes 1.18.

2. Taa

Muhtasari wa GUI za Kubernetes

Mradi umewekwa kama mazingira kamili ya maendeleo jumuishi (IDE) kwa Kubernetes. Zaidi ya hayo, imeboreshwa kwa kufanya kazi na makundi mengi na idadi kubwa ya maganda yanayoendesha ndani yao (yaliyojaribiwa kwenye maganda elfu 25).

Vipengele/uwezo kuu wa Lenzi:

  • Programu ya pekee ambayo haihitaji usakinishaji wa kitu chochote ndani ya nguzo (kwa usahihi zaidi, Prometheus inahitajika kupata vipimo vyote, lakini pia unaweza kutumia usakinishaji uliopo kwa hili). Ufungaji "kuu" unafanywa kwenye kompyuta ya kibinafsi inayoendesha Linux, macOS au Windows.
  • Usimamizi wa vikundi vingi (mamia ya vikundi vinaungwa mkono).
  • Taswira ya hali ya nguzo katika muda halisi.
  • Grafu za matumizi ya rasilimali na mienendo yenye historia kulingana na Prometheus iliyojengwa ndani.
  • Ufikiaji wa mstari wa amri wa vyombo na nodi za nguzo.
  • Usaidizi kamili kwa Kubernetes RBAC.

Toleo la sasa - 3.5.0 tarehe 16 Juni 2020. Toleo la awali liliundwa huko Kontena, na leo mali yote ya kiakili imehamishiwa kwa shirika maalum. Lakeland Labs, inayoitwa "chama cha wasomi na wanateknolojia wa asili wa mtandao," ambao wana jukumu la "kuhifadhi na kutoa programu ya Open Source na bidhaa za Kontena."

Lenzi ni mradi wa pili maarufu kwenye GitHub katika kitengo cha GUI kwa Kubernetes, nyuma ya Dashibodi ya Kubernets yenyewe. Suluhu zingine zote za Open Source ambazo haziko katika kitengo cha CLI* ni duni kwa umaarufu.

*Angalia kuhusu K9s katika sehemu ya bonasi ya ukaguzi.

3. Kubernetic

Muhtasari wa GUI za Kubernetes

Hii ni programu ya umiliki ambayo imewekwa kwenye kompyuta binafsi (Linux, macOS, Windows ni mkono). Waandishi wake wanaahidi uingizwaji kamili wa matumizi ya mstari wa amri, na kwa hiyo, hakuna haja ya kukumbuka amri na hata ongezeko la kumi la kasi ya uendeshaji.

Moja ya vipengele vya kuvutia vya chombo ni usaidizi wa ndani wa chati za Helm, lakini mojawapo ya vikwazo ni ukosefu wa vipimo vya utendaji wa programu.

Vipengele kuu vya Kubernetic:

  • Onyesho rahisi la hali ya nguzo. Skrini moja kutazama vitu vyote vya nguzo vinavyohusiana na utegemezi wao; nyekundu / kijani tayari hali kwa vitu vyote; modi ya utazamaji wa hali ya nguzo na visasisho vya hali ya wakati halisi.
  • Vifungo vya vitendo vya haraka vya kufuta na kuongeza programu.
  • Msaada kwa ajili ya uendeshaji wa makundi mengi.
  • Kazi rahisi na nafasi za majina.
  • Msaada wa chati za Helm na hazina za Helm (pamoja na za kibinafsi). Ufungaji na usimamizi wa chati katika kiolesura cha wavuti.

Gharama ya sasa ya bidhaa ni malipo ya mara moja ya euro 30 kwa matumizi yake na mtu mmoja kwa idadi yoyote ya nafasi za majina na vikundi.

4. Kubevious

  • Site;
  • Uwasilishaji;
  • hazina (~ 500 GitHub nyota);
  • Leseni: Apache 2.0
  • Kwa kifupi: "Kubevious hufanya makundi ya Kubernetes, usanidi wa programu, na mwonekano katika hali ya programu kuwa salama na rahisi kuelewa."

Muhtasari wa GUI za Kubernetes

Wazo la mradi ni kuunda zana iliyoundwa kuchambua na kurekebisha usanidi wa programu iliyowekwa kwenye nguzo. Waandishi walizingatia hasa utekelezaji wa vipengele hivi, na kuacha mambo ya jumla zaidi kwa baadaye.

Vipengele muhimu na kazi za Kubevious:

  • Taswira ya nguzo kwa njia ya msingi-matumizi: vitu vilivyounganishwa kwenye kiolesura vimepangwa katika safu.
  • Onyesha tegemezi katika usanidi na matokeo ya mabadiliko yao.
  • Huonyesha hitilafu za usanidi wa makundi: matumizi yasiyo sahihi ya lebo, bandari ambazo hazikufanyika, n.k. (Kwa njia, ikiwa una nia ya kipengele hiki, makini na Polarisambayo sisi tayari imeandikwa.)
  • Mbali na hatua ya awali, kugundua vyombo vinavyoweza kuwa hatari vinapatikana, i.e. kuwa na mapendeleo mengi (sifa hostPID, hostNetwork, hostIPC, kuweka docker.sock na kadhalika).
  • Mfumo wa utaftaji wa nguzo wa hali ya juu (sio tu kwa majina ya vitu, bali pia kwa mali zao).
  • Zana za kupanga uwezo na uboreshaji wa rasilimali.
  • "Mashine ya wakati" iliyojengwa (uwezo wa kuona mabadiliko yaliyotokea hapo awali katika usanidi wa vitu).
  • Kusimamia RBAC kwa kutumia jedwali lililounganishwa la muhtasari kutoka kwa Roles, RoleBindings, ServiceAccounts.
  • Inafanya kazi na nguzo moja pekee.

Mradi huu una historia fupi sana (toleo la kwanza lilifanyika mnamo Februari 11, 2020) na inaonekana kwamba kumekuwa na kipindi cha uimarishaji au kushuka kwa maendeleo. Ikiwa matoleo ya awali yalitolewa mara kwa mara, basi toleo la hivi karibuni (v0.5 ya tarehe 15 Aprili 2020) ilianguka nyuma ya kasi ya awali ya maendeleo. Labda hii ni kutokana na idadi ndogo ya wachangiaji: katika historia ya hifadhi kuna 4 tu kati yao, na kazi yote halisi inafanywa na mtu mmoja.

5. Kubewise

  • Ukurasa wa mradi;
  • Leseni: ya umiliki (itakuwa Chanzo Huria);
  • Kwa kifupi: "Mteja rahisi, wa majukwaa mengi ya Kubernetes."

Muhtasari wa GUI za Kubernetes

Bidhaa mpya kutoka VMware, iliyoundwa awali kama sehemu ya hackathon ya ndani (Juni 2019). Imewekwa kwenye kompyuta ya kibinafsi, inafanya kazi kwa msingi Elektroni (inatumika na Linux, macOS na Windows) na inahitaji kubectl v1.14.0 au matoleo mapya zaidi.

Vipengele muhimu vya Kubewise:

  • Mwingiliano wa kiolesura na huluki zinazotumika sana Kubernetes: nodi, nafasi za majina, n.k.
  • Usaidizi wa faili nyingi za kubeconfig kwa makundi tofauti.
  • Terminal na uwezo wa kuweka variable mazingira KUBECONFIG.
  • Inazalisha faili maalum za kubeconfig kwa nafasi fulani ya jina.
  • Vipengele vya usalama vya hali ya juu (RBAC, nywila, akaunti za huduma).

Kufikia sasa mradi una toleo moja tu - toleo 1.1.0 tarehe 26 Novemba 2019. Kwa kuongezea, waandishi walipanga kuitoa mara moja kama Chanzo Huria, lakini kwa sababu ya shida za ndani (zisizohusiana na maswala ya kiufundi) hawakuweza kufanya hivi. Kuanzia Mei 2020, waandishi wanashughulikia toleo lijalo na lazima waanzishe mchakato wa programu huria kwa wakati mmoja.

6. OpenShift Console

Muhtasari wa GUI za Kubernetes

Licha ya ukweli kwamba interface hii ya wavuti ni sehemu ya usambazaji wa OpenShift (huko imewekwa kwa kutumia mwendeshaji maalum), waandishi wametoa uwezo wa kusakinisha/kuitumia katika mitambo ya kawaida (vanilla) Kubernetes.

OpenShift Console imekuwa ikitengenezwa kwa muda mrefu, kwa hivyo imejumuisha kazi nyingi. Wacha tuseme zile kuu:

  • Mtazamo wa pamoja wa kiolesura - "mitazamo" miwili ya uwezo unaopatikana kwenye Dashibodi: kwa wasimamizi na wasanidi programu. Hali Mtazamo wa msanidi programu huweka vitu katika umbo linaloeleweka zaidi kwa wasanidi programu (kwa kutumia programu) na hulenga kiolesura katika kutatua kazi za kawaida kama vile kupeleka programu, kufuatilia hali ya muundo/usambazaji, na hata kuhariri msimbo kupitia Eclipse Che.
  • Dhibiti mizigo ya kazi, mtandao, hifadhi, haki za ufikiaji.
  • Mgawanyiko wa kimantiki kwa mzigo wa kazi wa mradi na maombi. Katika moja ya matoleo ya hivi punde - v4.3 - alionekana Maalum Dashibodi ya mradi, inayoonyesha data ya kawaida (idadi na hali ya kupelekwa, ganda, n.k.; matumizi ya rasilimali na vipimo vingine) katika sehemu mbalimbali za miradi.
  • Onyesho la wakati halisi la hali ya nguzo na mabadiliko (matukio) ambayo yametokea ndani yake; kutazama kumbukumbu.
  • Tazama data ya ufuatiliaji kulingana na Prometheus, Alertmanager na Grafana.
  • Waendeshaji wasimamizi waliowakilishwa katika kituo cha uendeshaji.
  • Dhibiti miundo inayoendeshwa kupitia Docker (kutoka kwa hazina maalum iliyo na Dockerfile) S2I au huduma za nje za kiholela.

NB: Hatukuongeza wengine kwa kulinganisha Usambazaji wa Kubernetes (kwa mfano, maarufu sana Kubesphere): licha ya ukweli kwamba kiolesura cha picha ndani yao kinaweza kuwa cha hali ya juu sana, kwa kawaida huja kama sehemu ya mkusanyiko uliounganishwa wa mfumo mkubwa. Walakini, ikiwa unafikiria kuwa suluhisho zingine ambazo zinafanya kazi kikamilifu katika usakinishaji wa vanilla K8s hazipo, tujulishe kwenye maoni.

Bonasi

1. Mbebaji kwenye Kubernetes katika beta

  • Site;
  • hazina (~ 100 GitHub nyota);
  • Leseni: Zlib(?) (sawa na mradi wa mzazi).

Mradi kutoka kwa timu ya Portiner, ambayo ilitengeneza kiolesura maarufu cha jina moja la kufanya kazi na Docker. Kwa kuwa mradi uko katika hatua ya awali ya maendeleo (toleo la kwanza na la pekee la beta akatoka Aprili 16, 2020), hatukutathmini vipengele vyake. Walakini, inaweza kuwa ya kupendeza kwa wengi: ikiwa hii inasikika kama wewe, fuata maendeleo.

2. IcePanel

  • Site;
  • Leseni: umiliki;
  • Kwa kifupi: "Mhariri wa Visual Kubernetes."

Muhtasari wa GUI za Kubernetes

Programu hii changa ya kompyuta ya mezani inalenga kuibua na kudhibiti rasilimali za Kubernetes kwa wakati halisi kwa kiolesura rahisi cha kuburuta na kudondosha. Vitu vinavyotumika kwa sasa ni Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap na Secret. Wanaahidi kuongeza msaada wa Helm hivi karibuni. Ubaya kuu ni kwamba nambari imefungwa (inatarajiwa kufungua "kwa namna fulani") na ukosefu wa usaidizi wa Linux (kwa sasa matoleo tu ya Windows na macOS yanapatikana, ingawa hii pia ni suala la muda tu).

3. k9s

  • Site;
  • Maandamano;
  • hazina (~ 7700 GitHub nyota);
  • Leseni: Apache 2.0;
  • Kwa kifupi: "Kiolesura cha kiweko cha Kubernetes ambacho hukuruhusu kudhibiti kundi lako kwa mtindo."

Muhtasari wa GUI za Kubernetes

Huduma ilijumuishwa tu katika sehemu ya bonasi ya ukaguzi kwa sababu inatoa GUI ya koni. Walakini, waandishi walibana zaidi kutoka kwa terminal, wakitoa sio kiolesura rahisi tu, lakini pia mada 6 zilizoainishwa awali, na mfumo uliotengenezwa wa njia za mkato za kibodi na lakabu za amri. Mtazamo wao wa kina haukuwa mdogo kwa kuonekana: uwezo wa k9s ni wa kuvutia sana: kusimamia rasilimali, kuonyesha hali ya nguzo, kuonyesha rasilimali katika mtazamo wa hierarchical na utegemezi, kumbukumbu za kutazama, kusaidia RBAC, kupanua uwezo kupitia programu-jalizi... hii ilikuwa ya kupendwa na jumuiya pana ya K8s: wingi Mradi wa nyota wa GitHub unakaribia kuwa mzuri kama Dashibodi rasmi ya Kubernetes!

4. Paneli za udhibiti wa maombi

Na mwisho wa hakiki - kitengo tofauti cha mini. Inajumuisha violesura viwili vya wavuti vilivyoundwa si kwa ajili ya usimamizi changamano wa makundi ya Kubernetes, lakini kwa ajili ya kudhibiti kile kilichowekwa ndani yake.

Kama unavyojua, moja ya zana iliyokomaa na iliyoenea zaidi ya kupeleka programu ngumu katika Kubernetes ni Helm. Katika kipindi cha uwepo wake, vifurushi vingi (Chati za Helm) vimekusanyika kwa kupelekwa kwa urahisi. maombi mengi maarufu. Kwa hivyo, ni jambo la busara kwamba zana zinazofaa za kuona zitaonekana kusaidia kudhibiti mzunguko wa maisha wa chati.

4.1. Monocular

  • hazina (nyota 1300+ za GitHub);
  • Leseni: Apache 2.0;
  • Kwa kifupi: "Programu ya wavuti ya kutafuta na kugundua chati za Helm kwenye hazina nyingi. Hutumika kama msingi wa mradi wa Helm hub."

Muhtasari wa GUI za Kubernetes

Ukuzaji huu kutoka kwa waandishi wa Helm umewekwa katika Kubernetes na huendesha ndani ya nguzo moja, ikifanya kazi iliyokabidhiwa. Walakini, kwa sasa mradi hauendelei hata kidogo. Kusudi lake kuu ni kusaidia uwepo wa Helm Hub. Kwa mahitaji mengine, waandishi wanapendekeza Kubeapps (tazama hapa chini) au Wakala wa Uendeshaji wa Red Hat (sehemu ya OpenShift, lakini pia haijatengenezwa tena).

4.2. Kubeapps

  • Site;
  • Uwasilishaji;
  • hazina (~ 2100 GitHub nyota);
  • Leseni: Apache 2.0
  • Kwa kifupi: "Dashibodi yako ya maombi ya Kubernetes."

Muhtasari wa GUI za Kubernetes

Bidhaa kutoka Bitnami, ambayo pia imewekwa katika kundi la Kubernetes, lakini inatofautiana na Monocular katika mtazamo wake wa awali wa kufanya kazi na hazina za kibinafsi.

Vipengele muhimu na utendaji wa Kubeapps:

  • Tazama na usakinishe chati za Helm kutoka hazina.
  • Angalia, sasisha na uondoe programu za Helm zilizosakinishwa kwenye nguzo.
  • Usaidizi wa kufanya kazi na hazina maalum na za kibinafsi za chati (inaauni ChartMuseum na JFrog Artifactory).
  • Tazama na ufanye kazi na huduma za nje - kutoka kwa Katalogi ya Huduma na Madalali wa Huduma.
  • Kuchapisha programu zilizosakinishwa kwa kutumia utaratibu wa Ufungaji wa Katalogi ya Huduma.
  • Usaidizi wa uthibitishaji na utenganishaji wa haki kwa kutumia RBAC.

Jedwali la mwisho

Ifuatayo ni jedwali la muhtasari ambamo tulijaribu kufupisha na kujumlisha uwezo mkuu wa violesura vya kuona vilivyopo ili kuwezesha ulinganisho:

Muhtasari wa GUI za Kubernetes
(Toleo la mtandaoni la jedwali inapatikana katika Hati za Google.)

Hitimisho

Miingiliano ya picha kwa Kubernetes ni niche maalum na changa. Walakini, inakua kwa bidii: tayari unaweza kupata suluhisho za watu wazima na vijana ambao bado wana nafasi ya kukua. Zinashughulikia matumizi anuwai, kutoa huduma na inaonekana kuendana na karibu kila ladha. Tunatumahi kuwa ukaguzi huu utakusaidia kuchagua zana inayofaa mahitaji yako ya sasa.

PS

Asante kvaps kwa data ya OpenShift Console kwa jedwali la kulinganisha!

Soma pia kwenye blogi yetu:

Chanzo: mapenzi.com

Kuongeza maoni