Tlhahlobo ea Kubecost bakeng sa ho boloka chelete ho Kubernetes marung

Tlhahlobo ea Kubecost bakeng sa ho boloka chelete ho Kubernetes marung

Hajoale, lik'hamphani tse ntseng li eketseha li fetisetsa meaho ea tsona ho tloha ho li-server tsa Hardware le metjhini ea bona ea sebele ho ea marung. Tharollo ena e bonolo ho e hlalosa: ha ho hlokahale hore u tšoenyehe ka hardware, sehlopha se hlophisoa habonolo ka litsela tse ngata tse fapaneng ... 'me ho bohlokoa ka ho fetisisa, theknoloji e teng (joaloka Kubernetes) e etsa hore ho khonehe ho fokotsa matla a k'homphieutha ho itšetlehile ka mojaro. .

Boemo ba lichelete bo bohlokoa kamehla. Sesebelisoa se tšohliloeng sehloohong sena se etselitsoe ho thusa ho fokotsa lichelete ha u sebelisa lisebelisoa tsa maru le Kubernetes.

Selelekela

Kubecost ke qalo ea California ho tsoa ho Google, e theha tharollo ea ho bala litšenyehelo tsa lits'ebeletso tsa lits'ebeletso tsa maru (ka har'a sehlopha sa Kubernetes + lisebelisoa tse arolelanoang), ho batlana le mathata ka litlhophiso tsa lihlopha le ho romella litsebiso tse nepahetseng ho Slack.

Re na le bareki ba nang le Kubernetes ka bobeli marung a tloaelehileng a AWS le GCP, 'me, ka seoelo bakeng sa sechaba sa Linux, Azure - ka kakaretso, lipolaneteng tsohle tse tšehetsoeng ke Kubecost. Ho tse ling tsa tsona, re bala litšenyehelo tsa lits'ebeletso tsa intra-cluster ka borona (re sebelisa mokhoa o ts'oanang le o sebelisoang ke Kubecost), hape re lekola litšenyehelo tsa meaho le ho leka ho li ntlafatsa. Ka hona, hoa utloahala hore re ne re thahasella monyetla oa ho iketsetsa mesebetsi e joalo.

Khoutu ea mohloli oa mojule oa mantlha oa Kubecost e bulehile tlasa maemo a laesense ea Open Source (Apache License 2.0). E ka sebelisoa ka bolokolohi 'me likarolo tse teng li lokela ho lekana bakeng sa merero e menyenyane. Leha ho le joalo, khoebo ke khoebo: sehlahisoa se seng se koetsoe, se ka sebelisoa ke lipeeletso tse lefelloang, e leng hape e bolelang tšehetso ea khoebo. Ho phaella moo, bangoli ba fana ka laesense ea mahala bakeng sa lihlopha tse nyenyane (sehlopha sa 1 se nang le li-node tse 10 - nakong ea ho ngoloa ha sehlooho sena, moeli ona o eketsehile ho ea ho li-node tsa 20) kapa nako ea teko e nang le bokhoni bo feletseng bakeng sa khoeli e le 'ngoe.

Kamoo e sebetsang kateng kaofela

Kahoo, karolo e ka sehloohong ea Kubecost ke kopo theko-mohlala, e ngotsoeng ho Go. Chate ea Helm e hlalosang tsamaiso eohle e bitsoa mohlahlobi oa litšenyehelo 'me motheong oa eona ke kopano e tsoang ho mohlala oa litšenyehelo o nang le Prometheus, Grafana le li-dashboard tse' maloa.

Ka kakaretso, mohlala oa litšenyehelo o na le sebopeho sa eona sa marang-rang, se bonts'ang li-graph le lipalo-palo tse qaqileng tsa litšenyehelo ka mokhoa oa tabular, hammoho le malebela a ho ntlafatsa litšenyehelo. Li-dashboards tse hlahisitsoeng Grafana ke mohato oa pejana oa nts'etsopele ea Kubecost 'me li na le lintlha tse ngata tse tšoanang le tsa mohlala oa litšenyehelo, li li tlatsetsa ka lipalo-palo tse tloaelehileng tsa tšebeliso ea CPU / memori / marang-rang / sebaka sa disk sehlopheng le sa eona. dikarolo.

Kubecost e sebetsa joang?

  • Cost-model e fumana litheko tsa lits'ebeletso ka API ea bafani ba marang-rang.
  • Ho feta moo, ho itšetlehile ka mofuta oa tšepe oa node le sebaka, litšenyehelo ka node li baloa.
  • Ho ipapisitsoe le litšenyehelo tsa ho tsamaisa li-node, lekhasi le leng le le leng la lekhasi le fumana litšenyehelo ka hora ea ts'ebeliso ea CPU, ka gigabyte ea mohopolo o sebelisitsoeng, le hora ka gigabyte ea data e bolokiloeng - ho latela node eo e neng e sebetsa ho eona kapa sehlopha sa polokelo.
  • Ho ipapisitsoe le litšenyehelo tsa ho sebetsa li-pods tsa motho ka mong, tefo e baloa bakeng sa libaka tsa mabitso, lits'ebeletso, Deployments, StatefulSets.
  • Lipalopalo li baloa ho sebelisoa metrics e fanoeng ke kube-state-metrics le node-exporter.

Ho bohlokoa ho nahana ka Kubecost eo ka ho sa feleng e bala feela lisebelisoa tse fumanehang ho Kubernetes. Mananeo a kantle a marang-rang, li-server tsa GitLab, polokelo ea S3 le lits'ebeletso tse ling tse seng sehlopheng (le haeba li le ka har'a leru le le leng) ha li bonahale ho eona. Leha bakeng sa GCP le AWS o ka eketsa linotlolo tsa li-account tsa hau tsa ts'ebeletso le ho bala tsohle hammoho.

bophirima

Kubecost e hloka:

  • Kubernetes version 1.8 le holimo;
  • kube-state-metrics;
  • Prometheus;
  • node-exporter.

Ho ile ha etsahala hore ka lihlopha tsa rona maemo ana 'ohle a kopane esale pele, kahoo ho ile ha fumaneha hore ho ne ho lekane ho hlalosa feela ntlha e nepahetseng ea ho fumana Prometheus. Leha ho le joalo, chate ea molao ea kubecost Helm e na le tsohle tseo o li hlokang ho tsamaisa sehlopha se se nang letho.

Ho na le mekhoa e mengata ea ho kenya Kubecost:

  1. Mokhoa o tloaelehileng oa ho kenya o hlalositsoeng ho litaelo webosaeteng ea moqapi eketsa sebaka sa polokelo ea lichelete ho Helm, ebe u kenya chate. Ho setseng ke ho fetisetsa boema-kepe ba hau le ho lokisa litlhophiso ho ea boemong boo u bo batlang ka letsoho (ka kubectl) le/kapa ho sebelisa sebopeho sa webo sa mohlala oa theko.

    Ha re e-s'o leke mokhoa ona, kaha ha re sebelise litlhophiso tse lokiselitsoeng ho motho oa boraro, empa e shebahala e le khetho e ntle ea "iketsetse feela" khetho. Haeba u se u ntse u e-na le likarolo tse ling tsa tsamaiso tse kentsoeng kapa u batla ho lokisa hantle, ho molemo ho nahana ka tsela ea bobeli.

  2. Sebelisa hantle chate e tšoanang, empa e hlophise 'me u inkele ka bouena ka tsela efe kapa efe e bonolo.

    Joalokaha ho se ho boletsoe, ntle le kubecost ka boeona, chate ena e na le lichate tsa Grafana le Prometheus, tseo le tsona li ka etsoang ka mokhoa oo u batlang ka oona.

    E fumaneha chateng values.yaml bakeng sa analyzer ea litšenyehelo e u lumella ho hlophisa:

    • lethathamo la lisebelisoa tsa tlhahlobo ea litšenyehelo tse lokelang ho romelloa;
    • ntlha ea hau ea ho qetela bakeng sa Prometheus (haeba u se u ntse u e-na le eona);
    • libaka le litlhophiso tse ling tsa ingress bakeng sa mohlala oa litšenyehelo le Grafana;
    • litlhaloso bakeng sa li-pods;
    • tlhokeho ya ho sebedisa polokelo e sa feleng le boholo ba yona.

    Lethathamo le felletseng la likhetho tse fumanehang tsa tlhophiso tse nang le litlhaloso li fumaneha ho litokomane.

    Kaha kubecost phetolelong ea eona ea mantlha e ke ke ea thibela phihlello, o tla hloka ho hlophisa hang-hang "bauth-auth" bakeng sa sebaka sa marang-rang.

  3. Kenya feela motheo oa tsamaiso - theko-mohlala. Ho etsa sena, o tlameha ho kenya Prometheus sehlopheng mme o hlalose boleng bo lumellanang ba aterese ea eona ho feto-fetoha. prometheusEndpoint bakeng sa Helm. Ka mor'a moo - sebetsa sete ea litlhophiso tsa YAML sehlopheng.

    Hape, o tla tlameha ho kenyelletsa Ingress ka "basic-auth". Qetellong, o tla hloka ho kenya karolo ea ho bokella metrics ea mohlala oa litšenyehelo ho extraScrapeConfigs ho 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

Re fumana eng?

Ka ho kenya ka botlalo, re na le sebaka sa marang-rang sa kubecost le Grafana se nang le li-dashboards.

Chelete eohle, e bonts'itsoeng skrineng se seholo, e hlile e bontša litšenyehelo tse hakantsoeng tsa lisebelisoa bakeng sa khoeli. Sena porojeke theko e bonts'ang litšenyehelo tsa ho sebelisa sehlopha (ka khoeli) boemong ba hajoale ba tšebeliso ea lisebelisoa.

Metric ena ke ea ho sekaseka litšenyehelo le ho li ntlafatsa. Ha ho bonolo haholo ho sheba litšenyehelo tsohle tsa abstract July ka kubecost: o tla tlameha ho etsa sena e-ea ho tefiso. Empa u ka bona litšenyehelo tse arotsoeng ka libaka tsa mabitso, lileibole, li-pods bakeng sa matsatsi a 1/2/7/30/90, e leng tefo e ke keng ea u bontša.

Tlhahlobo ea Kubecost bakeng sa ho boloka chelete ho Kubernetes marung

Ho bua ka mabitso. U lokela ho ea ho litlhophiso hang-hang 'me u behe mabitso a lileibole tse tla sebelisoa e le mekhahlelo e meng bakeng sa litšenyehelo tsa lihlopha:

Tlhahlobo ea Kubecost bakeng sa ho boloka chelete ho Kubernetes marung

U ka fanyeha li-labels ho tsona - ho bonolo haeba u se u ntse u e-na le sistimi ea hau ea ho ngola.

Hape moo o ka fetola aterese ea sebaka sa ho qetela sa API moo mohlala oa litšenyehelo o hokahanang teng, fetola boholo ba theolelo ho GCP 'me u ipehele litheko tsa hau bakeng sa lisebelisoa le chelete bakeng sa tekanyo ea tsona (ka lebaka le itseng tšobotsi ha e ame Kakaretso ea litšenyehelo).

Kubecost e ka bonts'a tse fapaneng mathata sehlopheng (le ho falimeha ha ho ka hlaha kotsi). Ka bomalimabe, khetho ha e khonehe, ka hona, haeba u na le libaka tsa batho ba ntlafatsang 'me u li sebelisa, u tla lula u bona ntho e kang ena:

Tlhahlobo ea Kubecost bakeng sa ho boloka chelete ho Kubernetes marung

Sesebelisoa sa bohlokoa - Cluster Savings. E lekanya ts'ebetso ea li-pods (tšebeliso ea lisebelisoa, ho kenyeletsoa le marang-rang), hape e lekanya hore na ke chelete e kae le seo u ka se bolokang.

Ho ka 'na ha bonahala eka malebela a ho ntlafatsa a hlakile, empa phihlelo e fana ka maikutlo a hore ho ntse ho e-na le seo u lokelang ho se sheba. Haholo-holo, ts'ebetso ea marang-rang ea li-pods e behiloe leihlo (Kubecost e fana ka maikutlo a ho ela hloko ba sa sebetseng), mohopolo o kopiloeng le oa sebele le ts'ebeliso ea CPU e bapisoa, hammoho le CPU e sebelisoang ke li-cluster node (e fana ka maikutlo a ho putlama ha li-node tse 'maloa ho e le' ngoe), disk. load le li-parameter tse ling tse 'maloa.

Joalo ka taba efe kapa efe ea ntlafatso, ho ntlafatsa lisebelisoa tse thehiloeng ho data ea Kubecost ho hloka: tšoara ka hloko. Ka mohlala, Cluster Savings e fana ka maikutlo a ho hlakola li-node, tse bolelang hore li bolokehile, empa ha li nahane ka boteng ba li-node-electors le litšila tse ka har'a li-pods tse sebelisoang ho tsona tse sa fumaneheng ho li-node tse ling. 'Me ka kakaretso, esita le bangoli ba sehlahisoa sa bona sengoloa sa morao tjena (ka tsela, e ka ba molemo haholo ho ba thahasellang sehlooho sa morero) ho kgothaletswa hore o se ke oa potlakela ho ntlafatsa litšenyehelo, empa ho atamela taba ka hloko.

Liphello

Kamora ho sebelisa kubecost bakeng sa khoeli mererong e 'maloa, re ka fihlela qeto ea hore ke sesebelisoa se khahlisang (ebile se bonolo ho ithuta le ho se kenya) bakeng sa ho sekaseka le ho ntlafatsa litšenyehelo bakeng sa lits'ebeletso tsa bafani ba maru tse sebelisetsoang lihlopha tsa Kubernetes. Lipalo li bonahala li nepahetse haholo: litekong tsa rona li ne li tsamaellana le seo bahlahisi ba hlileng ba se hlokang.

Ho boetse ho na le litšitiso tse ling: ho na le litšitšili tse seng bohlokoa, 'me libakeng tse ling ts'ebetso ha e kenyelle litlhoko tse tobileng mererong e meng. Leha ho le joalo, haeba u hloka ho utloisisa kapele hore na chelete e ea hokae le hore na ke eng e ka "khaoloang" e le hore u lule u fokotsa tefiso ea litšebeletso tsa leru ka 5-30% (sena ke se etsahetseng molemong oa rona), ena ke khetho e ntle haholo. .

PES

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso