Reviżjoni ta 'Kubecost għall-iffrankar ta' flus fuq Kubernetes fis-sħab

Reviżjoni ta 'Kubecost għall-iffrankar ta' flus fuq Kubernetes fis-sħab

Bħalissa, aktar u aktar kumpaniji qed jittrasferixxu l-infrastruttura tagħhom mis-servers tal-ħardwer u l-magni virtwali tagħhom stess għall-cloud. Din is-soluzzjoni hija faċli biex tispjega: m'hemmx għalfejn tinkwieta dwar il-ħardwer, il-cluster huwa kkonfigurat faċilment f'ħafna modi differenti... u l-aktar importanti, teknoloġiji eżistenti (bħal Kubernetes) jagħmluha possibbli li sempliċement tiskala l-qawwa tal-kompjuter skont it-tagħbija. .

L-aspett finanzjarju huwa dejjem importanti. L-għodda diskussa f'dan l-artikolu hija mfassla biex tgħin tnaqqas il-baġits meta tuża l-infrastruttura tal-cloud ma' Kubernetes.

Introduzzjoni

Kubecost hija startup Kalifornjana minn Google, li toħloq soluzzjoni għall-kalkolu tal-ispejjeż tal-infrastruttura fis-servizzi tal-cloud (fi ħdan cluster Kubernetes + riżorsi kondiviżi), issib konġestjonijiet fis-settings tal-cluster u tibgħat notifiki xierqa lil Slack.

Għandna klijenti ma' Kubernetes kemm fis-sħab familjari AWS u GCP, kif ukoll f'Azure, li huwa aktar rari għall-komunità Linux - b'mod ġenerali, fuq il-pjattaformi kollha appoġġjati minn Kubecost. Għal xi wħud minnhom, aħna nikkalkulaw l-ispejjeż tas-servizzi intra-cluster aħna stess (bl-użu ta 'metodu simili għal dak użat minn Kubecost), u nissorveljaw ukoll l-ispejjeż tal-infrastruttura u nippruvaw ottimizzawhom. Għalhekk, huwa loġiku li konna interessati fil-possibbiltà li awtomatizzati kompiti bħal dawn.

Il-kodiċi tas-sors tal-modulu Kubecost prinċipali huwa miftuħ taħt it-termini tal-liċenzja Open Source (Apache License 2.0). Jista 'jintuża liberament u l-karatteristiċi disponibbli għandhom ikunu biżżejjed għal proġetti żgħar. Madankollu, in-negozju huwa negozju: il-bqija tal-prodott huwa magħluq, jista 'jintuża minn abbonamenti mħallsa, li jimplikaw ukoll appoġġ kummerċjali. Barra minn hekk, l-awturi joffru liċenzja b'xejn għal raggruppamenti żgħar (cluster 1 b'10 nodi - matul il-kitba ta 'dan l-artikolu, dan il-limitu kiber għal 20 nodi) jew perjodu ta' prova b'kapaċitajiet sħaħ għal xahar 1.

Kif jaħdem kollox

Għalhekk, il-parti ewlenija ta 'Kubecost hija l-applikazzjoni mudell tal-ispiża, miktuba f'Go. Tissejjaħ chart Helm li tiddeskrivi s-sistema kollha analizzatur tal-ispiża u fil-qalba tagħha hemm assemblaġġ minn mudell ta 'spejjeż bi Prometheus, Grafana u diversi dashboards.

B'mod ġenerali, il-mudell tal-ispiża għandu l-interface tal-web tiegħu stess, li juri graffs u statistika dettaljata dwar l-ispejjeż f'forma tabulari, kif ukoll, ovvjament, pariri għall-ottimizzazzjoni tal-ispejjeż. Id-dashboards ippreżentati fi Grafana huma stadju aktar bikri fl-iżvilupp ta’ Kubecost u fihom ħafna mill-istess dejta bħall-mudell tal-kost, u jissupplimentawhom bl-istatistika tas-soltu dwar il-konsum ta’ CPU/memorja/netwerk/ispazju tad-disk fil-cluster u tiegħu. komponenti.

Kif jaħdem Kubecost?

  • Cost-model jirċievi prezzijiet għas-servizzi permezz tal-API tal-fornituri tal-cloud.
  • Barra minn hekk, skont it-tip tal-ħadid tan-nodu u r-reġjun, tiġi kkalkulata l-ispiża għal kull nodu.
  • Ibbażat fuq l-ispiża tat-tħaddim tan-nodi, kull pod tal-weraq iġib spiża għal kull siegħa ta 'użu tas-CPU, għal kull gigabyte ta' memorja kkunsmata, u kull siegħa għal kull gigabyte ta 'dejta maħżuna - skont in-nodu li kien qed jaħdem fuqu jew il-klassi ta' ħażna.
  • Ibbażat fuq l-ispiża tat-tħaddim ta 'miżwed individwali, il-ħlas huwa kkalkulat għal namespaces, servizzi, Deployments, StatefulSets.
  • L-istatistika hija kkalkulata bl-użu ta' metriċi pprovduti minn kube-state-metrics u node-exporter.

Huwa importanti li tikkunsidra li Kubecost b'mod awtomatiku jgħodd biss ir-riżorsi disponibbli f'Kubernetes. Databases esterni, servers GitLab, ħażniet S3 u servizzi oħra li mhumiex fil-cluster (anke jekk jinsabu fl-istess sħaba) mhumiex viżibbli għalih. Għalkemm għal GCP u AWS tista 'żżid iċ-ċwievet tal-kontijiet tas-servizz tiegħek u tikkalkula kollox flimkien.

Installazzjoni

Kubecost jeħtieġ:

  • Kubernetes verżjoni 1.8 u ogħla;
  • kube-state-metrics;
  • Prometheus;
  • node-esportatur.

Ġara li fir-raggruppamenti tagħna dawn il-kundizzjonijiet kollha ġew issodisfati minn qabel, għalhekk irriżulta li kien biżżejjed li tispeċifika biss l-endpoint korrett għall-aċċess għal Prometheus. Madankollu, it-tabella uffiċjali ta 'kubecost Helm fiha dak kollu li għandek bżonn biex taħdem fuq cluster vojt.

Hemm diversi modi kif tinstalla Kubecost:

  1. Metodu ta 'installazzjoni standard deskritt fi istruzzjonijiet fuq il-websajt tal-iżviluppatur.Meħtieġa żid ir-repożitorju tal-analizzatur tal-ispejjeż ma Helm, u mbagħad installa ċ-ċart. Li jibqa 'huwa li tibgħat il-port tiegħek u taġġusta s-settings għall-istat mixtieq manwalment (permezz ta' kubectl) u/jew billi tuża l-interface tal-web tal-mudell tal-ispiża.

    Aħna lanqas ippruvajna dan il-metodu, peress li ma nużawx konfigurazzjonijiet lesti ta 'parti terza, iżda tidher qisha għażla tajba "pprova għalik innifsek". Jekk diġà għandek xi wħud mill-komponenti tas-sistema installati jew trid aktar irfinar, huwa aħjar li tikkunsidra t-tieni triq.

  2. Uża essenzjalment l-istess chart, imma kkonfigura u installah lilek innifsek bi kwalunkwe mod konvenjenti.

    Kif diġà ssemma, minbarra l-kubecost innifsu, din iċ-ċart fiha grafika Grafana u Prometheus, li jistgħu wkoll jiġu personalizzati kif mixtieq.

    Disponibbli fuq iċ-ċart values.yaml għall-analizzatur tal-ispejjeż jippermettilek tikkonfigura:

    • lista ta' komponenti tal-analizzatur tal-ispejjeż li jeħtieġ li jiġu skjerati;
    • l-endpoint tiegħek għal Prometheus (jekk diġà għandek wieħed);
    • dominji u settings oħra ta' dħul għal mudell tal-kost u Grafana;
    • Annotazzjonijiet għall-imżiewed;
    • il-ħtieġa li tuża ħażna permanenti u d-daqs tagħha.

    Lista kompluta ta 'għażliet ta' konfigurazzjoni disponibbli b'deskrizzjonijiet hija disponibbli fi dokumentazzjoni.

    Peress li l-kubecost fil-verżjoni bażika tiegħu ma jistax jirrestrinġi l-aċċess, ser ikollok bżonn tikkonfigura immedjatament l-awth bażiku għall-pannell tal-web.

  3. Installa biss il-qalba tas-sistema - mudell tal-ispiża. Biex tagħmel dan, irid ikollok Prometheus installat fil-cluster u speċifika l-valur korrispondenti tal-indirizz tiegħu fil-varjabbli prometheusEndpoint għal Helm. Wara dan - applika sett ta' konfigurazzjonijiet YAML fil-cluster.

    Għal darb'oħra, ser ikollok iżżid manwalment Ingress ma' basic-auth. Fl-aħħarnett, ser ikollok bżonn iżżid taqsima għall-ġbir tal-metriċi tal-mudell tal-ispiża extraScrapeConfigs fil-konfigurazzjoni tal-Prometheus:

    - 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

X'nieħdu?

B'installazzjoni sħiħa, għandna għad-dispożizzjoni tagħna l-kubecost u l-pannell tal-web Grafana b'sett ta 'dashboards.

Spiża totali, murija fuq l-iskrin prinċipali, fil-fatt turi l-ispiża stmata tar-riżorsi għax-xahar. Dan ipproġettat prezz li jirrifletti l-ispiża tal-użu tal-cluster (kull xahar) fil-livell attwali tal-konsum tar-riżorsi.

Din il-metrika hija aktar għall-analiżi tal-ispejjeż u l-ottimizzazzjoni tagħhom. Mhuwiex konvenjenti ħafna li tħares lejn l-ispejjeż totali għal Lulju astratt f'kubecost: ikollok mur għall-kontijiet. Imma tista 'tara l-ispejjeż imqassma skont ispazji tal-isem, tikketti, imżiewed għal 1/2/7/30/90 jum, liema kontijiet qatt ma juruk.

Reviżjoni ta 'Kubecost għall-iffrankar ta' flus fuq Kubernetes fis-sħab

Taħdit ta tikketti. Għandek immedjatament tmur fis-settings u tissettja l-ismijiet tat-tikketti li se jintużaw bħala kategoriji addizzjonali għall-kostijiet tal-grupp:

Reviżjoni ta 'Kubecost għall-iffrankar ta' flus fuq Kubernetes fis-sħab

Tista 'hang xi tikketti fuqhom - konvenjenti jekk diġà għandek is-sistema ta' tikkettjar tiegħek stess.

Ukoll hemmhekk tista 'tbiddel l-indirizz tal-punt ta' tmiem tal-API li miegħu jgħaqqad il-mudell tal-ispiża, aġġusta d-daqs tal-iskont fil-GCP u tistabbilixxi l-prezzijiet tiegħek stess għar-riżorsi u l-munita għall-kejl tagħhom (għal xi raġuni l-karatteristika ma taffettwax l-ispiża totali).

Kubecost jista 'juri diversi problemi fil-cluster (u anke twissija f'każ ta' periklu). Sfortunatament, l-għażla mhix konfigurabbli, u għalhekk, jekk għandek ambjenti għall-iżviluppaturi u tużahom, dejjem tara xi ħaġa bħal din:

Reviżjoni ta 'Kubecost għall-iffrankar ta' flus fuq Kubernetes fis-sħab

Għodda importanti - Tifdil ta' Cluster. Tkejjel l-attività tal-imżiewed (il-konsum tar-riżorsi, inklużi r-riżorsi tan-netwerk), u tikkalkula wkoll kemm tista 'tiffranka flus u fuq xiex.

Jista 'jidher li l-pariri dwar l-ottimizzazzjoni huma pjuttost ovvji, iżda l-esperjenza tissuġġerixxi li għad hemm xi ħaġa x'tħares lejha. B'mod partikolari, l-attività tan-netwerk tal-miżwed hija mmonitorjata (Kubecost jissuġġerixxi li tingħata attenzjoni lil dawk inattivi), il-memorja mitluba u attwali u l-konsum tas-CPU huma mqabbla, kif ukoll is-CPU użat minn nodi tal-cluster (jissuġġerixxi li jiġġarfu bosta nodi f'wieħed), disk tagħbija u ftit tużżana parametri oħra.

Bħal kull kwistjoni ta' ottimizzazzjoni, l-ottimizzazzjoni tar-riżorsi bbażata fuq id-dejta ta' Kubecost teħtieġ: ittratta b'kawtela. Pereżempju, Cluster Savings jissuġġerixxi t-tħassir ta 'nodi, billi jsostni li huwa sikur, iżda ma jqisx il-preżenza ta' node-selectors u taints fil-miżwed skjerati fuqhom li mhumiex disponibbli fuq nodi oħra. U b'mod ġenerali, anke l-awturi tal-prodott tagħhom artiklu riċenti (mill-mod, jista 'jkun utli ħafna għal dawk li huma interessati fis-suġġett tal-proġett) huwa rrakkomandat li ma tgħaġġelx rasu fl-ottimizzazzjoni tal-ispejjeż, iżda li tavviċina l-kwistjoni b'mod maħsub.

Riżultati ta '

Wara li użaw kubecost għal xahar fuq koppja ta 'proġetti, nistgħu nikkonkludu li hija għodda interessanti (u wkoll faċli biex titgħallem u tinstalla) għall-analiżi u l-ottimizzazzjoni tal-ispejjeż għas-servizzi tal-fornituri tal-cloud użati għall-clusters ta' Kubernetes. Il-kalkoli jirriżultaw li huma preċiżi ħafna: fl-esperimenti tagħna kkoinċidew ma 'dak li l-fornituri fil-fatt kienu jeħtieġu.

Hemm ukoll xi aspetti negattivi: hemm bugs mhux kritiċi, u f'xi postijiet il-funzjonalità ma tkoprix il-ħtiġijiet speċifiċi għal xi proġetti. Madankollu, jekk għandek bżonn tifhem malajr fejn sejrin il-flus u x'jista 'jinqata' sabiex tnaqqas b'mod konsistenti l-kont għas-servizzi tal-cloud b'5-30% (dan huwa dak li ġara fil-każ tagħna), din hija għażla kbira. .

PS

Aqra wkoll fuq il-blog tagħna:

Sors: www.habr.com

Żid kumment