Nyocha Kubecost maka ịchekwa ego na Kubernetes na igwe ojii

Nyocha Kubecost maka ịchekwa ego na Kubernetes na igwe ojii

Ugbu a, ọtụtụ ụlọ ọrụ na-ebufe akụrụngwa ha site na sava ngwaike na igwe mebere nke ha na igwe ojii. Ngwọta a dị mfe ịkọwa: ọ dịghị mkpa ichegbu onwe gị banyere ngwaike, a na-ahazi ụyọkọ ahụ n'ụzọ dị mfe n'ọtụtụ ụzọ dị iche iche ... na nke kachasị mkpa, teknụzụ ndị dị ugbu a (dị ka Kubernetes) na-eme ka o kwe omume nanị ịgbakọ ike ịgbakọ dabere na ibu dị. .

Akụkụ ego dị mkpa mgbe niile. Emebere ngwaọrụ a tụlere n'isiokwu a iji nyere aka belata mmefu ego mgbe ị na-eji akụrụngwa igwe ojii na Kubernetes.

Okwu Mmalite

Kubecost bụ mmalite Californian sitere na Google, na-emepụta ihe ngwọta maka ịgbakọ ọnụ ahịa akụrụngwa na ọrụ igwe ojii (n'ime ụyọkọ Kubernetes + ihe ndị a na-ekekọrịta), na-achọta oghere na ntọala ụyọkọ na iziga ọkwa kwesịrị ekwesị na Slack.

Anyị nwere ndị ahịa nwere Kubernetes ma na igwe ojii AWS na GCP maara nke ọma, yana, ọ adịkarịghị maka obodo Linux, Azure - n'ozuzu, na nyiwe niile nke Kubecost na-akwado. Maka ụfọdụ n'ime ha, anyị na-agbakọ ụgwọ ọrụ nke intra-cluster n'onwe anyị (iji usoro yiri nke Kubecost na-eji), ma na-enyocha ụgwọ ọrụ akụrụngwa ma gbalịa ịkwalite ha. Ya mere, ọ bụ ihe ezi uche dị na ya na anyị nwere mmasị na ohere nke ịmegharị ọrụ ndị dị otú ahụ.

Koodu isi mmalite nke modul Kubecost mepere emepe n'okpuru usoro ikike nke Open Source ( License Apache 2.0). Enwere ike iji ya mee ihe n'efu na njirimara ndị dịnụ kwesịrị ezuru maka obere ọrụ. Otú ọ dị, azụmahịa bụ azụmahịa: ihe fọdụrụ nke ngwaahịa na-emechi, ọ nwere ike iji ya ndebanye aha akwụ ụgwọ, nke pụtakwara nkwado azụmahịa. Tụkwasị na nke ahụ, ndị na-ede akwụkwọ na-enye ikikere n'efu maka obere ụyọkọ (ụyọkọ 1 nwere ọnụ ọgụgụ 10 - n'oge edere isiokwu a, njedebe a gbasaa ruo 20 nodes) ma ọ bụ oge ikpe nwere ike zuru ezu maka ọnwa 1.

Ka ihe niile si arụ ọrụ

Yabụ, akụkụ bụ isi nke Kubecost bụ ngwa ihe nlereanya, nke edere na Go. A na-akpọ chaatị Helm nke na-akọwa usoro dum ọnụ ahịa nyocha na n'isi ya bụ mgbakọ sitere na ụdị ọnụ ahịa na Prometheus, Grafana na ọtụtụ dashboards.

N'ikwu okwu n'ozuzu, ọnụ ahịa-ụdị nwere interface weebụ nke ya, nke na-egosi eserese na ọnụ ọgụgụ zuru ezu na ọnụ ahịa n'ụdị tabular, yana, n'ezie, ndụmọdụ maka ịkwalite ụgwọ. Dashboards ndị a gosipụtara na Grafana bụ ọkwa mbụ na mmepe Kubecost ma nwee ọtụtụ data dị ka ihe nlereanya ọnụ ahịa, na-agbakwunye ha na ọnụ ọgụgụ ndị a na-emebu na oriri CPU / ebe nchekwa / netwọk / oghere diski na ụyọkọ na ya. components.

Kedu ka Kubecost si arụ ọrụ?

  • Ụdị ọnụ ahịa na-enweta ọnụ ahịa maka ọrụ site na API nke ndị na-eweta igwe ojii.
  • Ọzọkwa, dabere na ụdị ígwè nke ọnụ ọnụ na mpaghara, a na-agbakọ ọnụ ahịa ọnụ ọnụ.
  • Dabere na ọnụ ahịa ọnụ ụzọ na-agba ọsọ, pọd akwụkwọ ọ bụla na-enweta ọnụ ahịa kwa elekere nke ojiji CPU, kwa gigabyte nke ebe nchekwa riri, yana kwa elekere kwa gigabyte nke data echekwara - dabere na ọnụ ọ na-agba ma ọ bụ klas nke nchekwa.
  • Dabere na ọnụ ahịa pọd onye ọ bụla na-arụ ọrụ, a na-agbakọ ugwo maka oghere aha, ọrụ, ntinye, StatefulSets.
  • A na-agbakọ ọnụ ọgụgụ site na iji metrik nyere kube-state-metrics na node-exporter.

Ọ dị mkpa ịtụle Kubecost ahụ na ndabara na-agụta akụrụngwa dị na Kubernetes. Ebe nchekwa data mpụga, sava GitLab, nchekwa S3 na ọrụ ndị ọzọ na-anọghị na ụyọkọ (ọbụlagodi ma ọ bụrụ na ọ dị n'otu igwe ojii) anaghị ahụ ya anya. Ọ bụ ezie na maka GCP na AWS ị nwere ike ịgbakwunye igodo nke akaụntụ ọrụ gị wee gbakọọ ihe niile ọnụ.

ọnọdụ

Kubecost chọrọ:

  • Ụdị Kubernetes 1.8 na karịa;
  • kube-state-metrics;
  • Prometheus;
  • ọnụ-ebupụ.

O mere na n'ime ụyọkọ anyị, a na-ezute ọnọdụ ndị a niile tupu oge eruo, n'ihi ya, ọ ga-ezuru naanị ịkọwapụta njedebe ziri ezi maka ịnweta Prometheus. Agbanyeghị, eserese kubecost Helm gọọmentị nwere ihe niile ịchọrọ iji na-agba ọsọ na ụyọkọ efu.

Enwere ọtụtụ ụzọ iji wụnye Kubecost:

  1. Usoro nwụnye ọkọlọtọ kọwara na ntụziaka na webụsaịtị onye nrụpụta achọrọ tinye ebe nchekwa ego-analyzer na Helm, wee wụnye eserese ahụ. Naanị ihe fọdụrụ bụ ibugharị ọdụ ụgbọ mmiri gị wee dozie ntọala ahụ na steeti achọrọ iji aka gị (site na kubectl) na/ma ọ bụ iji ihe nlere webụ ọnụ ahịa.

    Anyị anwalebeghị usoro a, ebe ọ bụ na anyị anaghị eji nhazi nhazi ndị ọzọ dị njikere, ma ọ dị ka nhọrọ dị mma "naanị nwaa ya n'onwe gị". Ọ bụrụ na ị tinyelarị ụfọdụ n'ime sistemụ sistemu ma ọ bụ na ịchọrọ ịmegharị nke ọma, ọ ka mma ịtụle ụzọ nke abụọ.

  2. Jiri n'ezie otu eserese ahụ, mana hazie ma wụnye ya n'onwe gị n'ụzọ ọ bụla dabara adaba.

    Dịka e kwurula, na mgbakwunye na kubecost n'onwe ya, eserese a nwere eserese Grafana na Prometheus, nke nwekwara ike ịhazi ya dịka achọrọ.

    Dị na chaatị ahụ values.yaml maka ihe nyocha ọnụ ahịa na-enye gị ohere ịhazi:

    • ndepụta nke ihe nyocha ọnụ ahịa nke kwesịrị itinye;
    • njedebe gị maka Prometheus (ọ bụrụ na ị nwere otu);
    • ngalaba na ntọala ntinye ndị ọzọ maka ọnụ ahịa-ihe nlereanya na Grafana;
    • nkọwa maka pods;
    • mkpa iji nchekwa na-adịgide adịgide na nha ya.

    Ndepụta zuru ezu nke nhọrọ nhazi dị na nkọwa dị na akwụkwọ.

    Ebe kubecost na ụdị ya nke bụ isi enweghị ike igbochi ohere, ị ga-achọ ịhazi ngwa ngwa-base-auth maka panel webụ.

  3. Wụnye naanị isi sistemụ - ọnụ ahịa-ihe nlereanya. Iji mee nke a, ị ga-etinyerịrị Prometheus na ụyọkọ ma kọwaa uru ya kwekọrọ na adreesị ya na mgbanwe. prometheusEndpoint maka Helm. Mgbe nke ahụ gasịrị - tinye nhazi nke YAML na ụyọkọ.

    Ọzọ, ị ga-eji aka tinye Ingress na basic-auth. N'ikpeazụ, ị ga-achọ ịgbakwunye ngalaba maka ịnakọta metrik ọnụ ahịa n'ime extraScrapeConfigs na 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

Kedu ihe anyị ga-enweta?

Site na nrụnye zuru oke, anyị nwere kubecost na Grafana webụ panel nwere ọtụtụ dashboards.

Ọnụ ego niile, egosiri na ihuenyo bụ isi, na-egosi n'ezie ọnụ ahịa ego a na-eme atụmatụ maka ọnwa. Nke a atumatu ọnụahịa na-egosipụta ọnụ ahịa nke iji ụyọkọ (kwa ọnwa) na ọkwa nke oriri ihe onwunwe ugbu a.

Metiriki a bụ karịa maka nyocha mmefu na ịkwalite ha. Ọ dịghị mma ileba anya na mkpokọta ego maka July na kubecost: ị ga-emerịrị. gaa na ịgba ụgwọ. Mana ị nwere ike ịhụ ọnụ ahịa agbajiri site na oghere aha, akara, pọd maka ụbọchị 1/2/7/30/90, nke ịgba ụgwọ agaghị egosi gị.

Nyocha Kubecost maka ịchekwa ego na Kubernetes na igwe ojii

Na-ekwu maka aha. Ị ga-aga ozugbo na ntọala ma tọọ aha nke akara ndị a ga-eji dị ka ngalaba agbakwunyere maka nchịkọta ọnụ ahịa:

Nyocha Kubecost maka ịchekwa ego na Kubernetes na igwe ojii

Ị nwere ike kpọgidere akara ọ bụla na ha - dị mma ma ọ bụrụ na ịnweelarị sistemu akara nke gị.

Ọzọkwa n'ebe ahụ ị nwere ike ịgbanwe adreesị nke njedebe API nke ọnụ ahịa-ihe nlereanya na-ejikọta, gbanwee nha nha ego na GCP ma tọọ ọnụ ahịa nke gị maka ihe onwunwe na ego maka nha ha (n'ihi ihe ụfọdụ njirimara anaghị emetụta ọnụ ahịa zuru oke).

Kubecost nwere ike igosi ụdị dị iche iche nsogbu na ụyọkọ (na ọbụna na-amụ anya n'ihe ize ndụ). N'ụzọ dị mwute, nhọrọ ahụ enweghị ike ịhazi ya, ya mere, ọ bụrụ na ị nwere gburugburu maka ndị mmepe ma jiri ha mee ihe, ị ga-ahụ ihe dị ka nke a mgbe niile:

Nyocha Kubecost maka ịchekwa ego na Kubernetes na igwe ojii

Ngwá ọrụ dị mkpa - Ego ụyọkọ. Ọ na-atụle ọrụ nke pọd (eri ihe, gụnyere ndị netwọk), yana gbakọọ ego ole na ihe ị nwere ike ịchekwa.

Ọ nwere ike ịdị ka ndụmọdụ kachasị mma doro anya, mana ahụmịhe na-egosi na a ka nwere ihe a ga-elele. Karịsịa, a na-enyocha ọrụ netwọk nke pods (Kubecost na-atụ aro ịṅa ntị na ndị na-adịghị arụ ọrụ), a na-atụnyere ebe nchekwa a na-arịọ na n'ezie na oriri CPU, yana CPU nke ụyọkọ ụyọkọ (na-atụ aro ịdaba ọtụtụ ọnụ n'ime otu), diski. ibu na a di na nwunye nke iri na abuo ọzọ parameters.

Dịka ọ dị n'okwu nkwalite ọ bụla, ịkwalite akụrụngwa dabere na data Kubecost chọrọ: jiri nlezianya na-emeso ya. Dịka ọmụmaatụ, Cluster Savings na-atụ aro ka ihichapụ ọnụ ọnụ, na-ekwu na ọ dị mma, mana anaghị eburu n'uche ọnụnọ nke ndị na-ahọrọ ọnụ ọnụ na ihe ntanye a na-etinye na ha na-adịghị na oghere ndị ọzọ. Na n'ozuzu, ọbụna ndị dere ngwaahịa na ha isiokwu na-adịbeghị anya (Site n'ụzọ, ọ nwere ike ịba uru nke ukwuu maka ndị nwere mmasị na isiokwu nke ọrụ ahụ) a na-atụ aro ka ị ghara ịgba ọsọ ọsọ na njikarịcha ọnụ ahịa, kama iji nlezianya bịaruo okwu ahụ.

Nsonaazụ

Mgbe iji kubecost mee ihe maka otu ọnwa na ọrụ ole na ole, anyị nwere ike ikwubi na nke a bụ ihe na-adọrọ mmasị (ma dịkwa mfe ịmụta na wụnye) ngwá ọrụ maka nyocha na ịkwalite ụgwọ maka ọrụ nke ndị na-eweta igwe ojii ejiri maka ụyọkọ Kubernetes. Ngụkọta ndị ahụ na-atụgharị ka ọ bụrụ ihe ziri ezi: na nnwale anyị, ha dabara na ihe ndị na-enye ya chọrọ n'ezie.

E nwekwara ụfọdụ ọdịda: enwere ahụhụ na-adịghị njọ, na n'ebe ụfọdụ ọrụ anaghị ekpuchi mkpa ndị akọwapụtara maka ụfọdụ ọrụ. Otú ọ dị, ọ bụrụ na ọ dị mkpa ka ị ghọta ngwa ngwa ebe ego na-aga na ihe nwere ike "ịbelata" ka ị na-ebelata ụgwọ ọrụ igwe ojii site na 5-30% mgbe niile (nke a bụ ihe mere n'ọnọdụ anyị), nke a bụ nnukwu nhọrọ. .

PS

Gụọkwa na blọọgụ anyị:

isi: www.habr.com

Tinye a comment