Kubecost wongororo yekuchengetedza mari paKubernetes mumakore

Kubecost wongororo yekuchengetedza mari paKubernetes mumakore

Parizvino, makambani akawanda uye akawanda ari kuendesa zvivakwa zvawo kubva kumaseva ehardware nemichina yavo chaiyo kuenda kugore. Iyi mhinduro iri nyore kutsanangura: hapana chikonzero chekunetseka nezve Hardware, iyo cluster inogadziriswa nyore munzira dzakawanda dzakasiyana ... uye zvinonyanya kukosha, tekinoroji iripo (seKubernetes) inoita kuti zvikwanise kungoita kuyera komputa simba zvichienderana nemutoro. .

Mamiriro emari anokosha nguva dzose. Chishandiso chinokurukurwa muchinyorwa ichi chakagadzirirwa kubatsira kudzikisa mabhajeti kana uchishandisa makore ekuvaka neKubernetes.

Nhanganyaya

Kubecost iCalifornian yekutanga kubva kuGoogle, ichigadzira mhinduro yekuverenga mitengo yezvivakwa mumasevhisi emakore (mukati meKubernetes cluster + yakagovaniswa zviwanikwa), kutsvaga mabhodhoro mumasumbu ezvirongwa uye kutumira zviziviso zvakakodzera kuSlack.

Tine vatengi vane Kubernetes mune akajairika AWS uye GCP makore, uye, kashoma kunharaunda yeLinux, Azure - kazhinji, pamapuratifomu ese anotsigirwa neKubecost. Kune vamwe vavo, isu tinoverenga mutengo we intra-cluster masevhisi isu pachedu (tichishandisa nzira yakafanana neiyo inoshandiswa naKubecost), uye zvakare tarisa mitengo yezvivakwa uye edza kukwirisa. Naizvozvo, zvine musoro kuti isu taifarira mukana wekuita otomatiki mabasa akadaro.

Iyo kodhi kodhi yeiyo huru Kubecost module yakavhurika pasi pemitemo yeOpen Source rezinesi (Apache License 2.0). Inogona kushandiswa zvakasununguka uye zviripo zvinofanirwa kunge zvakakwanira mapurojekiti madiki. Nekudaro, bhizinesi ibhizinesi: chasara chigadzirwa chakavharwa, chinogona kushandiswa ne kunyoresa kunobhadharwa, izvo zvinorevawo kutsigirwa kwekutengeserana. Pamusoro pezvo, vanyori vanopa rezinesi remahara remasumbu madiki (1 cluster ine 10 node - panguva yekunyora kwechinyorwa ichi, muganhu uyu wakawedzera kusvika makumi maviri nodes) kana nguva yekuedzwa ine zvizere zvakakwana zvemwedzi mumwe.

Kuti zvese zvinoshanda sei

Saka, chikamu chikuru cheKubecost ndiko kushandisa mutengo-muenzaniso, rakanyorwa muna Go. Helm chati inotsanangura hurongwa hwese inonzi mutengo-analyzer uye pakati payo igungano kubva kumutengo-modhi ine Prometheus, Grafana uye akati wandei madhibhodhi.

Kazhinji kutaura, mutengo-modhi ine yayo yewebhu interface, iyo inoratidza magirafu uye yakadzama manhamba emitengo mune tabular fomu, uyezve, matipi ekugadzirisa mutengo. Iwo madhibhodhi akaunzwa muGrafana inhanho yekutanga mukuvandudzwa kweKubecost uye ane data rakawanda rakafanana nemutengo-modhi, achivawedzera nehuwandu hwakajairwa hwekushandiswa kweCPU/memory/network/disk space musumbu neayo. zvikamu.

Kubecost inoshanda sei?

  • Mutengo-modhi unogamuchira mitengo yemasevhisi kuburikidza neAPI yevanopa makore.
  • Uyezve, zvichienderana nemhando yesimbi ye node uye nharaunda, mutengo pa node inoverengwa.
  • Zvichienderana nemutengo wekumhanyisa node, yega yega pod inowana mutengo paawa yekushandiswa kweCPU, pagigabyte yekuyeuka inopedzwa, uye neawa pagigabyte yedata yakachengetwa - zvichienderana nenode yayaimhanya nayo kana kirasi yekuchengetedza.
  • Zvichienderana nemutengo wekushandisa mapodhi ega ega, kubhadhara kunoverengerwa nzvimbo dzezita, masevhisi, Deployments, StatefulSets.
  • Nhamba dzinoverengerwa uchishandisa metrics inopihwa kube-state-metrics uye node-exporter.

Zvakakosha kufunga kuti Kubecost by default chete kuverenga zviwanikwa zviripo Kubernetes. Ekunze dhatabhesi, GitLab maseva, S3 storages uye mamwe masevhisi asiri musumbu (kunyangwe ari mune rimwe gore rimwe chete) hazvionekwe kwairi. Kunyangwe zveGCP neAWS unogona kuwedzera makiyi emaakaundi ako esevhisi uye kuverenga zvese pamwechete.

Kuiswa

Kubecost inoda:

  • Kubernetes vhezheni 1.8 uye yepamusoro;
  • kube-state-metrics;
  • Prometheus;
  • node-exporter.

Zvakaitika kuti mumasumbu edu ese aya mamiriro akasangana pachine nguva, saka zvakazoitika kuti zvaive zvakakwana kungotsanangura magumo ekupedzisira ekuwana Prometheus. Nekudaro, iyo official kubecost Helm chati ine zvese zvaunoda kuti umhanye pane isina chinhu cluster.

Pane nzira dzinoverengeka dzekuisa Kubecost:

  1. Standard yekuisa nzira inotsanangurwa mu mirayiridzo pawebhusaiti yemugadziri. Inodiwa wedzera mutengo-analyzer repository kuHelm, uye wozoisa chati. Chasara kuendesa chiteshi chako uye kugadzirisa zvigadziriso kune inodiwa nyika nemaoko (kuburikidza nekubectl) uye/kana kushandisa iyo inodhura-modhi yewebhu interface.

    Hatina kumboedza nzira iyi, sezvo isu tisingashandisi yechitatu-bato yakagadzirira-yakagadzirirwa magadzirirwo, asi inoita seyakanaka "ingozviedza iwe pachako" sarudzo. Kana iwe uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchinge uchingerwa.

  2. Shandisa zvakanyanya chati imwe chete, asi gadzirisa uye uiise iwe pachako munzira ipi neipi yakanakira.

    Sezvatotaurwa, mukuwedzera kune kubecost pachayo, iyi chati ine Grafana uye Prometheus machati, ayo anogona zvakare kugadziridzwa sezvaunoda.

    Inowanikwa pachati values.yaml yemutengo-analyzer inobvumidza iwe kugadzirisa:

    • runyoro rwezvinodhura-analyzer zvikamu zvinoda kuiswa;
    • yako yekupedzisira yePrometheus (kana iwe uchitova nayo);
    • domains uye mamwe ingress marongero emutengo-modhi uye Grafana;
    • zvirevo zvepods;
    • kudiwa kwekushandisa kuchengetedza zvachose uye hukuru hwayo.

    Rondedzero yakazara yeanowanikwa magadzirirwo sarudzo ane tsananguro inowanikwa mukati zvinyorwa.

    Sezvo kubecost mune yayo yekutanga vhezheni isingakwanise kurambidza kupinda, iwe unozofanirwa kukurumidza kugadzirisa basic-auth yewebhu panhi.

  3. Isa chete system musimboti - mutengo-muenzaniso. Kuti uite izvi, unofanirwa kuve uine Prometheus yakaiswa musumbu uye tsanangura kukosha kunoenderana nekero yayo mune inosiyana. prometheusEndpoint yeHelm. Mushure meizvozvo - shandisa seti yeYAML zvigadziriso musumbu.

    Zvekare, iwe uchafanirwa kuwedzera nemaoko Ingress nebasic-auth. Chekupedzisira, iwe unozofanirwa kuwedzera chikamu chekuunganidza mutengo-modhi metrics mukati extraScrapeConfigs mune 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

Chii chatinowana?

Nekuisirwa kuzere, isu tine kubecost uye Grafana web pani ine seti yemadhibhodhi.

Zvose mari, inoratidzwa pachiratidziro chikuru, inonyatsoratidza mutengo unofungidzirwa wezviwanikwa zvemwedzi. Izvi projected mutengo unoratidza mutengo wekushandisa cluster (pamwedzi) padanho razvino rekushandisa zviwanikwa.

Iyi metric yakawanda yekuongorora mari uye nekuigadzirisa. Hazvina kunyanyonakira kutarisa iyo yakazara mitengo yeabstract Chikunguru mu kubecost: uchafanirwa kuenda ku billing. Asi iwe unogona kuona mutengo wakaputswa nemazita, mavara, mapodhi e1/2/7/30/90 mazuva, iyo kubhadharisa isingambokuratidza.

Kubecost wongororo yekuchengetedza mari paKubernetes mumakore

Kutaura nezvazvo mavara. Iwe unofanirwa kuenda nekukasira kumaseting uye kuseta mazita emazita ayo achashandiswa semamwe mapoka ekuunganidza mutengo:

Kubecost wongororo yekuchengetedza mari paKubernetes mumakore

Iwe unogona kuturika chero mavara paari - zviri nyore kana iwe uchitova neyako yekunyora sisitimu.

Zvakare ipapo iwe unogona kushandura kero ye API endpoint iyo inodhura-modhi inobatanidza, gadzirisa saizi yekuderedzwa muGCP uye isa yako mitengo yezviwanikwa uye mari yekuyerwa kwavo (nekuda kwechimwe chikonzero chimiro hachikanganisa Total mutengo).

Kubecost inogona kuratidza zvakasiyana matambudziko muchikwata (uye kunyange kungwarira kana njodzi). Nehurombo, iyo sarudzo haigadzirike, uye nekudaro, kana uine nharaunda dzevagadziri uye nekuashandisa, iwe unogara uchiona chinhu chakadai:

Kubecost wongororo yekuchengetedza mari paKubernetes mumakore

Chishandiso chakakosha - Cluster Savings. Inoyera basa remapods (kushandiswa kwezviwanikwa, kusanganisira network), uye zvakare inoverengera kuti imarii uye chii chaunogona kuchengetedza.

Zvinogona kuita sekuti matipi ekugadzirisa ari pachena, asi chiitiko chinoratidza kuti pachine chimwe chinhu chekutarisa. Kunyanya, basa retiweki remapods rinotariswa (Kubecost inoratidza kutarisisa kune vasingaite), iyo yakakumbirwa uye chaiyo yekurangarira uye CPU kushandiswa inofananidzwa, pamwe neCPU inoshandiswa ne cluster node (inoratidza kudonha akati wandei mune imwe), disk. load uye akati wandei mamwe gumi nemaviri paramita.

Sezvinoita chero nyaya yeoptimization, kugadzirisa zviwanikwa zvinoenderana neKubecost data kunoda: bata nokungwarira. Semuenzaniso, Cluster Savings inoratidzira kudzima node, ichitaura kuti yakachengeteka, asi isingafungi kuvapo kwenode-selectors uye tsvina mumapodhi akaiswa paari asingawanikwe pane dzimwe node. Uye kazhinji, kunyange vanyori vechigadzirwa mune yavo nyaya yazvino (nenzira, inogona kubatsira zvikuru kune avo vanofarira musoro wepurojekiti) zvinokurudzirwa kuti usamhanyire kumusoro mukugadzirisa mutengo, asi kuti usvike kune nyaya nekufunga.

Migumisiro

Mushure mekushandisa kubecost kwemwedzi pane akati wandei mapurojekiti, tinogona kugumisa kuti inonakidza (uye zvakare iri nyore kudzidza uye kuisa) chishandiso chekuongorora uye nekugadzirisa mutengo wemasevhisi evanopa makore anoshandiswa Kubernetes zvikwata. Iwo maverengero anozove akanyanya kunaka: mukuedza kwedu ivo vakapindirana neizvo chaizvo zvinodikanwa nevanopa.

Kune zvakare zvimwe zvakaderera: kune asiri-akakosha tsikidzi, uye mune dzimwe nzvimbo mashandiro acho haavhare zvinodikanwa kune mamwe mapurojekiti. Zvisinei, kana iwe uchida kukurumidza kunzwisisa kuti mari iri kuenda kupi uye chii chinogona "kucheka" kuitira kuti nguva dzose uderedze bhiri ye 5-30% yegore (izvi ndizvo zvakaitika kwatiri), iyi isarudzo huru. .

PS

Verenga zvakare pablog yedu:

Source: www.habr.com

Voeg