Ndemanga ya Kubecost yopulumutsa ndalama pa Kubernetes pamitambo

Ndemanga ya Kubecost yopulumutsa ndalama pa Kubernetes pamitambo

Pakadali pano, makampani ochulukirachulukira akusamutsa zida zawo kuchokera ku maseva a hardware ndi makina awo enieni kupita kumtambo. Yankho ili ndilosavuta kufotokoza: palibe chifukwa chodera nkhawa za hardware, gululo limakonzedwa mosavuta m'njira zosiyanasiyana ... ndipo chofunika kwambiri, matekinoloje omwe alipo (monga Kubernetes) amachititsa kuti azitha kuwerengera mphamvu zamakompyuta malinga ndi katundu. .

Mbali yazachuma ndiyofunikira nthawi zonse. Chida chomwe chafotokozedwa m'nkhaniyi chapangidwa kuti chithandizire kuchepetsa bajeti mukamagwiritsa ntchito zomangamanga zamtambo ndi Kubernetes.

Mau oyamba

Kubecost ndi chiyambi cha California kuchokera ku Google, kupanga njira yothetsera kuwerengera mtengo wa zomangamanga mu ntchito zamtambo (mkati mwa gulu la Kubernetes + zomwe zimagawidwa), kufufuza zolepheretsa m'magulu amagulu ndi kutumiza zidziwitso zoyenera ku Slack.

Tili ndi makasitomala omwe ali ndi Kubernetes onse m'mitambo yodziwika bwino ya AWS ndi GCP, ndipo, kawirikawiri kwa gulu la Linux, Azure - makamaka, pamapulatifomu onse othandizidwa ndi Kubecost. Kwa ena a iwo, timawerengera mtengo wa ntchito zamkati mwamagulu tokha (pogwiritsa ntchito njira yofananira ndi Kubecost), ndikuwunikanso ndalama zogwirira ntchito ndikuyesa kukulitsa. Chifukwa chake, ndizomveka kuti tinali ndi chidwi ndi kuthekera kopanga ntchito ngati izi.

Khodi yoyambira ya gawo lalikulu la Kubecost imatsegulidwa pansi pa chilolezo cha Open Source (Apache License 2.0). Itha kugwiritsidwa ntchito momasuka ndipo zomwe zilipo ziyenera kukhala zokwanira pamapulojekiti ang'onoang'ono. Komabe, bizinesi ndi bizinesi: zotsalazo zatsekedwa, zitha kugwiritsidwa ntchito ndi zolembetsa zolipira, zomwe zimatanthauzanso chithandizo chamalonda. Kuphatikiza apo, olembawo amapereka chilolezo chaulere chamagulu ang'onoang'ono (gulu la 1 lokhala ndi node 10 - panthawi yolemba nkhaniyi, malirewa awonjezeka kufika pa 20 node) kapena nthawi yoyesera yokhala ndi mphamvu zonse kwa mwezi umodzi.

Momwe zonse zimagwirira ntchito

Chifukwa chake, gawo lalikulu la Kubecost ndikugwiritsa ntchito mtengo-chitsanzo, yolembedwa mu Go. Tchati cha Helm chomwe chimafotokoza dongosolo lonse chimatchedwa mtengo-analyzer ndipo pachimake chake ndi msonkhano wochokera ku mtengo wamtengo wapatali wokhala ndi Prometheus, Grafana ndi ma dashboard angapo.

Nthawi zambiri, mtundu wamtengo wapatali uli ndi mawonekedwe ake apaintaneti, omwe amawonetsa ma graph ndi ziwerengero zatsatanetsatane pamitengo yama tabular, komanso, maupangiri owongolera ndalama. Ma dashboards omwe aperekedwa ku Grafana ndi gawo loyambirira pakukula kwa Kubecost ndipo ali ndi data yofanana ndi mtengo wamtengo wapatali, ndikuwonjezera ziwerengero zanthawi zonse pakugwiritsa ntchito CPU/memory/network/disk space mu cluster ndi zigawo zake. .

Kodi Kubecost imagwira ntchito bwanji?

  • Cost-model imalandira mitengo ya ntchito kudzera mu API ya opereka mtambo.
  • Kupitilira apo, kutengera mtundu wachitsulo wa node ndi dera, mtengo wa node umawerengedwa.
  • Kutengera mtengo woyendetsa ma node, tsamba lililonse lamasamba limapeza mtengo pa ola limodzi lakugwiritsa ntchito kwa CPU, pa gigabyte ya kukumbukira komwe kumadyedwa, ndi ola limodzi pa gigabyte ya data yosungidwa - kutengera node yomwe idayendera kapena kalasi yosungira.
  • Kutengera mtengo wogwiritsira ntchito ma pod, malipiro amawerengedwera malo, ntchito, Deployments, StatefulSets.
  • Ziwerengero zimawerengedwa pogwiritsa ntchito ma metric operekedwa ndi kube-state-metrics ndi node-exporter.

Ndikofunika kulingalira kuti Kubecost mwachisawawa amawerengera zothandizira zomwe zikupezeka ku Kubernetes. Ma database akunja, ma seva a GitLab, zosungira za S3 ndi ntchito zina zomwe sizili mgululi (ngakhale zili mumtambo womwewo) sizikuwoneka kwa iwo. Ngakhale kwa GCP ndi AWS mutha kuwonjezera makiyi amaakaunti anu a ntchito ndikuwerengera zonse palimodzi.

kolowera

Kubecost imafuna:

  • Kubernetes mtundu 1.8 ndi apamwamba;
  • kube-state-metrics;
  • Prometheus;
  • node-exporter.

Izo zinachitika kuti m'magulu athu zinthu zonsezi anakumana pasadakhale, kotero kunapezeka kuti kunali kokwanira kungotchula mapeto olondola kupeza Prometheus. Komabe, tchati chovomerezeka cha kubecost Helm chili ndi zonse zomwe mungafune kuti muthane ndi gulu lopanda kanthu.

Pali njira zingapo zoyika Kubecost:

  1. Standard unsembe njira yofotokozedwa mu malangizo pa webusayiti ya wopanga onjezani chosungira mtengo ku Helm, ndiyeno yikani tchati. Zomwe zatsala ndikutumiza doko lanu ndikusintha makonda kukhala momwe mukufunira pamanja (kudzera pa kubectl) ndi/kapena kugwiritsa ntchito mawonekedwe a intaneti otsika mtengo.

    Sitinayesepo ngakhale njira iyi, popeza sitigwiritsa ntchito makonzedwe okonzeka a gulu lachitatu, koma akuwoneka ngati njira yabwino "ingoyesani nokha". Ngati muli ndi zida zina zamakina zomwe zayikidwa kale kapena mukufuna kukonza bwino, ndi bwino kuganizira njira yachiwiri.

  2. Gwiritsani ntchito kwenikweni tchati chomwecho, koma konzani ndikuyika nokha m'njira iliyonse yabwino.

    Monga tanena kale, kuwonjezera pa kubecost palokha, tchatichi chili ndi ma chart a Grafana ndi Prometheus, omwe amathanso kusinthidwa momwe amafunira.

    Likupezeka pa tchati values.yaml kwa mtengo-analyzer imakupatsani mwayi wokonza:

    • mndandanda wazinthu zowunikira mtengo zomwe ziyenera kutumizidwa;
    • mapeto anu a Prometheus (ngati muli nawo kale);
    • madera ndi makonda ena olowera amtengo-model ndi Grafana;
    • zizindikiro za matenda;
    • kufunika kogwiritsa ntchito kusungirako kosatha ndi kukula kwake.

    Mndandanda wathunthu wazosankha zomwe zilipo zokhala ndi mafotokozedwe zikupezeka zolemba.

    Popeza kubecost mu mtundu wake woyambira sikungalepheretse kulowa, muyenera kukonza nthawi yomweyo zolemba zoyambira pagawo lawebusayiti.

  3. Ikani kokha dongosolo pachimake - mtengo-chitsanzo. Kuti muchite izi, muyenera kukhala ndi Prometheus yoyika mgululi ndikutchula mtengo wofananira wa adilesi yake muzosintha. prometheusEndpoint za Helm. Pambuyo pake - gwiritsani ntchito zosintha za YAML mgulu.

    Apanso, muyenera kuwonjezera pamanja Ingress ndi basic-auth. Pomaliza, mufunika kuwonjezera gawo lotolera ma metric amtundu wamtengo extraScrapeConfigs mu 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

Kodi timapeza chiyani?

Ndi kukhazikitsa kwathunthu, tili ndi tsamba la kubecost ndi Grafana lomwe lili ndi ma dashboard.

Ma mtengo onse, yowonetsedwa pazenera lalikulu, imawonetsa mtengo wazinthu zomwe zikuyembekezeka pamwezi. Izi kuyembekezeredwa mtengo wowonetsa mtengo wogwiritsa ntchito masango (pamwezi) pamlingo wapano wakugwiritsa ntchito zinthu.

Metric iyi ndiyowonjezera kusanthula ndalama ndikuzikwaniritsa. Sikwabwino kuyang'ana ndalama zonse za Julayi mu kubecost: muyenera kutero kupita ku billing. Koma mutha kuwona ndalama zomwe zathyoledwa ndi malo, zilembo, ma pod kwa masiku 1/2/7/30/90, zomwe kulipira sikudzakuwonetsani.

Ndemanga ya Kubecost yopulumutsa ndalama pa Kubernetes pamitambo

Kulankhula zolemba. Muyenera kupita ku zochunira nthawi yomweyo ndikuyika mayina omwe azigwiritsidwa ntchito ngati magulu owonjezera pakuyika ndalama m'magulu:

Ndemanga ya Kubecost yopulumutsa ndalama pa Kubernetes pamitambo

Mutha kupachika zilembo zilizonse pa iwo - zabwino ngati muli ndi makina anu olembera.

Komanso kumeneko mungathe kusintha adiresi ya mapeto a API omwe mtengo wamtengo wapatali umagwirizanitsa, sinthani kukula kwa kuchotsera mu GCP ndikukhazikitsa mitengo yanu yazinthu ndi ndalama za muyeso wawo (pazifukwa zina mawonekedwewo samakhudza Total mtengo).

Kubecost akhoza kusonyeza zosiyanasiyana mavuto mu gulu (komanso kukhala tcheru pakagwa ngozi). Tsoka ilo, chisankhocho sichingasinthike, chifukwa chake, ngati muli ndi malo opangira mapulogalamu ndikuzigwiritsa ntchito, mudzawona chonchi nthawi zonse:

Ndemanga ya Kubecost yopulumutsa ndalama pa Kubernetes pamitambo

Chida chofunikira - Cluster Savings. Imayesa ntchito zamapodo (kugwiritsa ntchito zinthu, kuphatikiza maukonde), ndikuwerengeranso ndalama zingati ndi zomwe mungapulumutse.

Zitha kuwoneka kuti malangizo okhathamiritsa ndi odziwikiratu, koma zokumana nazo zikuwonetsa kuti pali china choti muwone. Makamaka, ntchito ya netiweki ya ma pod imayang'aniridwa (Kubecost ikuwonetsa kulabadira kwa osagwira ntchito), zomwe zapemphedwa komanso zokumbukira zenizeni komanso kugwiritsa ntchito kwa CPU zikuyerekezedwa, komanso CPU yogwiritsidwa ntchito ndi ma cluster node (akuwonetsa kugwa kwa ma node angapo kukhala amodzi), disk. load ndi magawo ena khumi ndi awiri.

Monga momwe zilili ndi vuto lililonse lokhathamiritsa, kukhathamiritsa zinthu zochokera ku Kubecost kumafuna: samalirani. Mwachitsanzo, Cluster Savings imasonyeza kuchotseratu ma node, kunena kuti ndi otetezeka, koma osaganizira za kukhalapo kwa ma node-selectors ndi zodetsa m'matumba omwe amaikidwa pa iwo omwe sapezeka pa mfundo zina. Ndipo ambiri, ngakhale olemba mankhwala awo nkhani yaposachedwa (mwa njira, zitha kukhala zothandiza kwambiri kwa iwo omwe ali ndi chidwi ndi mutu wa polojekitiyo) tikulimbikitsidwa kuti tisathamangire kukhathamiritsa mtengo, koma kuti tikwaniritse nkhaniyi moganizira.

Zotsatira

Titagwiritsa ntchito kubecost kwa mwezi umodzi pama projekiti angapo, titha kunena kuti ndi chida chosangalatsa (komanso chosavuta kuphunzira ndikuyika) pakusanthula ndi kukhathamiritsa mtengo wa ntchito za opereka mitambo omwe amagwiritsidwa ntchito pamagulu a Kubernetes. Kuwerengera kumakhala kolondola kwambiri: muzoyeserera zathu zidagwirizana ndi zomwe operekawo amafunikiradi.

Palinso zovuta zina: pali nsikidzi zosafunikira, ndipo m'malo ena magwiridwe antchito samakwaniritsa zofunikira pazantchito zina. Komabe, ngati mukufunikira kumvetsetsa mwamsanga kumene ndalama zikupita ndi zomwe zingathe "kudulidwa" kuti muchepetse nthawi zonse bilu ya mautumiki amtambo ndi 5-30% (izi ndi zomwe zinachitika kwa ife), iyi ndi njira yabwino kwambiri. .

PS

Werenganinso pa blog yathu:

Source: www.habr.com

Kuwonjezera ndemanga