Ukubuyekezwa kwe-Kubecost okonga imali ku-Kubernetes emafini

Ukubuyekezwa kwe-Kubecost okonga imali ku-Kubernetes emafini

Njengamanje, izinkampani eziningi ngokwengeziwe zidlulisela ingqalasizinda yazo isuka kumaseva wehadiwe nemishini yazo ebonakalayo iye efwini. Lesi sixazululo kulula ukusichaza: asikho isidingo sokukhathazeka mayelana ne-hardware, iqoqo lihlelwa kalula ngezindlela eziningi ezahlukene ... futhi okubaluleke kakhulu, ubuchwepheshe obukhona (njenge-Kubernetes) bukwenza kube lula ukumane ulinganise amandla e-computing kuye ngomthwalo. .

Isici sezezimali sihlala sibalulekile. Ithuluzi okuxoxwe ngalo kulesi sihloko senzelwe ukusiza ukunciphisa ibhajethi uma usebenzisa ingqalasizinda yamafu nge-Kubernetes.

Isingeniso

Kubecost iyisiqalo sase-California esivela ku-Google, esidala isixazululo sokubala izindleko zengqalasizinda kumasevisi wamafu (ngaphakathi kweqoqo le-Kubernetes + izinsiza ezabelwe), ukucinga izingqinamba kuzilungiselelo zeqoqo nokuthumela izaziso ezifanele ku-Slack.

Sinamakhasimende ane-Kubernetes kokubili kumafu ajwayelekile e-AWS kanye ne-GCP, futhi, kuyaqabukela kumphakathi we-Linux, i-Azure - ngokuvamile, kuwo wonke amapulatifomu asekelwa i-Kubecost. Kwezinye zazo, sibala izindleko zezinsizakalo ze-intra-cluster ngokwethu (sisebenzisa indlela efana naleyo esetshenziswa i-Kubecost), futhi siqaphe izindleko zengqalasizinda futhi sizame ukuzithuthukisa. Ngakho-ke, kunengqondo ukuthi sasinentshisekelo yokuthi kungenzeka ukwenza imisebenzi enjalo ngokuzenzakalelayo.

Ikhodi yomthombo yemojuli eyinhloko ye-Kubecost ivuliwe ngaphansi kwemigomo yelayisensi yomthombo ovulekile (i-Apache License 2.0). Ingasetshenziswa ngokukhululeka futhi izici ezitholakalayo kufanele zanele kumaphrojekthi amancane. Kodwa-ke, ibhizinisi liyibhizinisi: wonke umkhiqizo uvaliwe, ungasetshenziswa ngu okubhaliselwe okukhokhelwayo, okusho futhi ukwesekwa kwezohwebo. Ngaphezu kwalokho, abalobi banikeza ilayisense yamahhala yamaqoqo amancane (iqoqo eli-1 elinama-node angu-10 - ngesikhathi sokubhalwa kwalesi sihloko, lo mkhawulo unwebekile waba ngama-node angu-20) noma isikhathi sesivivinyo esinamandla aphelele enyanga engu-1.

Konke kusebenza kanjani

Ngakho-ke, ingxenye enkulu ye-Kubecost uhlelo lokusebenza imodeli yezindleko, ebhalwe ku-Go. Ishadi leHelm elichaza lonke uhlelo libizwa i-cost-analyzer futhi emnyombweni wayo wumhlangano ovela kumodeli yezindleko ene-Prometheus, Grafana namadeshibhodi amaningana.

Ngokuvamile, imodeli yezindleko inesixhumi esibonakalayo sewebhu, esibonisa amagrafu nezibalo ezinemininingwane yezindleko ngendlela yethebula, kanye namathiphu okuthuthukisa izindleko. Amadeshibhodi ethulwe eGrafana ayisigaba sangaphambili sokuthuthukiswa kwe-Kubecost futhi aqukethe idatha efanayo nemodeli yezindleko, ehlanganisa nezibalo ezivamile zokusetshenziswa kwe-CPU/inkumbulo/inethiwekhi/isikhala sediski kuqoqo nezingxenye zalo. .

Isebenza kanjani i-Kubecost?

  • Imodeli yezindleko ithola izintengo zamasevisi nge-API yabahlinzeki bamafu.
  • Ngaphezu kwalokho, kuye ngohlobo lwensimbi lwe-node kanye nesifunda, izindleko ze-node ngayinye zibalwa.
  • Ngokusekelwe ezindlekweni zokusebenzisa ama-node, i-pod yeqabunga ngalinye ithola izindleko ngehora lokusetshenziswa kwe-CPU, ngegigabhayithi ngayinye yememori esetshenzisiwe, kanye nehora ngegigabhayithi yedatha egciniwe - kuye ngendawo ebisebenza kuyo noma isigaba sokugcina.
  • Ngokusekelwe ezindlekweni zokusebenzisa ama-pod angawodwana, inkokhelo ibalwa kuzikhala zamagama, amasevisi, ukuthunyelwa, i-StatefulSets.
  • Izibalo zibalwa kusetshenziswa amamethrikhi anikezwe i-kube-state-metrics kanye ne-node-exporter.

Kubalulekile ukucabangela lokho Kubecost ngokuzenzakalelayo ibala kuphela izinsiza ezitholakala ku-Kubernetes. Imininingo egciniwe yangaphandle, amaseva e-GitLab, isitoreji se-S3 nezinye izinsiza ezingekho kuqoqo (ngisho noma zitholakala efwini elifanayo) azibonakali kuyo. Nakuba ku-GCP ne-AWS ungakwazi ukwengeza okhiye bama-akhawunti akho esevisi futhi ubale yonke into ndawonye.

setting

I-Kubecost idinga:

  • Kubernetes inguqulo 1.8 nangaphezulu;
  • kube-state-metrics;
  • I-Prometheus;
  • i-node-exporter.

Kwenzeka ukuthi emaqenjini ethu zonke lezi zimo zahlangatshezwana nazo kusengaphambili, ngakho-ke kwaba ukuthi kwanele ukucacisa isiphetho esifanele sokufinyelela ku-Prometheus. Kodwa-ke, ishadi elisemthethweni le-kubecost Helm liqukethe konke okudingayo ukuze usebenzise iqoqo elingenalutho.

Kunezindlela ezimbalwa zokufaka i-Kubecost:

  1. Indlela yokufaka ejwayelekile echazwe ku imiyalelo kuwebhusayithi yonjiniyela. Kuyadingeka engeza inqolobane yokuhlaziya izindleko ku-Helm, bese ufaka ishadi. Okusele nje ukuthumela imbobo yakho bese ulungisa izilungiselelo zibe isimo osifunayo ngesandla (nge-kubectl) kanye/noma usebenzisa isixhumi esibonakalayo sewebhu esiyimodeli yezindleko.

    Asikaze sizame le ndlela, njengoba singasebenzisi ukulungiselelwa okwenziwe ngomumo okuvela eceleni, kodwa kubonakala kuyinketho enhle "vele uzame ngokwakho". Uma usuvele unezinye zezingxenye zesistimu ezifakiwe noma ufuna ukulungiswa kahle kakhudlwana, kungcono ukucabangela indlela yesibili.

  2. Sebenzisa ngokuyisisekelo ishadi elifanayo, kodwa yilungiselele futhi uyifake ngokwakho nganoma iyiphi indlela elula.

    Njengoba sekushiwo, ngaphezu kwe-kubecost ngokwayo, leli shadi liqukethe amashadi e-Grafana ne-Prometheus, angenziwa ngokwezifiso njengoba kuthanda.

    Itholakala eshadini values.yaml kokuhlaziya izindleko kukuvumela ukuthi ulungiselele:

    • uhlu lwezingxenye zokuhlaziya izindleko ezidinga ukuthunyelwa;
    • isiphetho sakho se-Prometheus (uma usunayo kakade);
    • izizinda nezinye izilungiselelo zokungena zemodeli yezindleko kanye ne-Grafana;
    • izichasiselo zama-pods;
    • isidingo sokusebenzisa isitoreji unomphela kanye nosayizi waso.

    Uhlu oluphelele lwezinketho ezitholakalayo zokucushwa ezinezincazelo luyatholakala ku imibhalo.

    Njengoba i-kubecost enguqulweni yayo eyisisekelo ingakwazi ukukhawulela ukufinyelela, uzodinga ukulungisa ngokushesha i-basic-auth yephaneli yewebhu.

  3. Faka kuphela umnyombo wesistimu - imodeli yezindleko. Ukuze wenze lokhu, kufanele ufake i-Prometheus kuqoqo futhi ucacise inani elihambisanayo lekheli layo ekuguquguqukeni. prometheusEndpoint ngoHelm. Ngemva kwalokho - sebenzisa isethi yokucushwa kwe-YAML eqenjini.

    Futhi, kuzodingeka ungeze ngesandla i-Ingress nge-basic-auth. Okokugcina, uzodinga ukungeza isigaba sokuqoqa ama-metrics emodeli yezindleko extraScrapeConfigs ku-Prometheus config:

    - job_name: kubecost
      honor_labels: true
      scrape_interval: 1m
      scrape_timeout: 10s
      metrics_path: /metrics
      scheme: http
      dns_sd_configs:
      - names:
        - <адрСс вашСго сСрвиса kubecost>
        type: 'A'
        port: 9003

Yini esiyitholayo?

Ngokufaka okugcwele, sinawo iphaneli yewebhu ye-kubecost ne-Grafana enesethi yamadeshibhodi.

Izindleko eziphelele, eboniswa esikrinini esikhulu, empeleni ibonisa izindleko ezilinganiselwe zezinsiza zenyanga. Lokhu okuhlosiwe intengo ekhombisa izindleko zokusebenzisa iqoqo (ngenyanga) ezingeni lamanje lokusetshenziswa kwezinsiza.

Le metric imayelana nokuhlaziya izindleko nokuzilungiselela. Akulula kakhulu ukubheka izindleko eziphelele ze-abstract July ku-kubecost: kuzodingeka ukwenze lokhu iya ekukhokheni. Kodwa ungabona izindleko ezihlukaniswa ngezikhala zamagama, amalebula, ama-pods izinsuku ezingu-1/2/7/30/90, ikuphi ukukhokhiswa okungasoze kwakubonisa.

Ukubuyekezwa kwe-Kubecost okonga imali ku-Kubernetes emafini

Ekhuluma ngayo amalebula. Kufanele uye ngokushesha kuzilungiselelo futhi usethe amagama amalebula azosetshenziswa njengezigaba ezengeziwe zezindleko zokuqoqa:

Ukubuyekezwa kwe-Kubecost okonga imali ku-Kubernetes emafini

Ungalenga noma yimaphi amalebula kuwo - kulula uma usuvele unesistimu yakho yokulebula.

Futhi lapho ungashintsha ikheli lendawo yokugcina ye-API lapho imodeli yezindleko ixhumeka khona, ulungise usayizi wesaphulelo ku-GCP futhi usethe izintengo zakho zezinsiza nemali yokulinganisa kwazo (ngesizathu esithile isici asithinti Ingqikithi Yezindleko).

I-Kubecost ingabonisa ezihlukahlukene izinkinga ku-cluster (futhi uqaphile uma kwenzeka ingozi). Ngeshwa, inketho ayilungiseki, ngakho-ke, uma unezindawo zonjiniyela futhi uzisebenzisa, uzohlala ubona into efana nale:

Ukubuyekezwa kwe-Kubecost okonga imali ku-Kubernetes emafini

Ithuluzi elibalulekile - I-Cluster Savings. Ilinganisa umsebenzi wama-pods (ukusetshenziswa kwezinsiza, okuhlanganisa nenethiwekhi), futhi ibala ukuthi yimalini kanye nalokho ongakonga.

Kungase kubonakale sengathi amathiphu okuthuthukisa asobala, kodwa ulwazi lusikisela ukuthi kukhona okusamele kubhekwe. Ikakhulukazi, umsebenzi wenethiwekhi wama-pods uqashwe (i-Kubecost iphakamisa ukunaka ezingasebenzi), inkumbulo eceliwe nengokoqobo kanye nokusetshenziswa kwe-CPU kuyaqhathaniswa, kanye ne-CPU esetshenziswa ama-cluster node (iphakamisa ukudilika kwamanodi amaningana abe yinye), idiski load kanye namapharamitha ambalwa ngaphezulu.

Njenganoma iyiphi inkinga yokuthuthukisa, ukwenza kahle izinsiza ngokusekelwe kudatha ye-Kubecost kudinga: phatha ngokuqapha. Isibonelo, i-Cluster Savings iphakamisa ukuthi kususwe ama-node, abathi iphephile, kodwa akunaki ukuba khona kwezikhethi-node namabala kuma-pods asetshenziswe kuwo angatholakali kwamanye ama-node. Futhi ngokuvamile, ngisho ababhali umkhiqizo in yabo isihloko sakamuva (ngendlela, kungaba usizo kakhulu kulabo abanentshisekelo esihlokweni sephrojekthi) kunconywa ukuthi ungajahi ukufeza izinhloso ezinhle, kodwa ukhulume nodaba ngokucabangisisa.

Imiphumela

Ngemuva kokusebenzisa i-kubecost inyanga kumaphrojekthi ambalwa, singaphetha ngokuthi iyithuluzi elithokozisayo (futhi futhi kulula ukulifunda nokulifaka) lokuhlaziya nokwenza kahle izindleko zezinsizakalo zabahlinzeki bamafu ezisetshenziselwa amaqoqo e-Kubernetes. Izibalo zibonakala zinembe kakhulu: ekuhloleni kwethu ziqondane nalokho okudingwa abahlinzeki.

Kukhona futhi okunye okungalungile: kunezimbungulu ezingabalulekile, futhi kwezinye izindawo ukusebenza akuhlanganisi izidingo eziqondene namaphrojekthi athile. Kodwa-ke, uma udinga ukuqonda ngokushesha ukuthi imali iya kuphi nokuthi yini "enganqunywa" ukuze unciphise njalo inkokhiso yezinsizakalo zamafu ngo-5-30% (yilokhu okwenzekile kithi), lokhu kuyindlela enhle. .

PS

Funda futhi kubhulogi yethu:

Source: www.habr.com

Engeza amazwana