Adolygiad Kubecost ar gyfer arbed arian ar Kubernetes yn y cymylau

Adolygiad Kubecost ar gyfer arbed arian ar Kubernetes yn y cymylau

Ar hyn o bryd, mae mwy a mwy o gwmnïau'n trosglwyddo eu seilwaith o weinyddion caledwedd a'u peiriannau rhithwir eu hunain i'r cwmwl. Mae'r ateb hwn yn hawdd i'w esbonio: nid oes angen poeni am galedwedd, mae'r clwstwr yn hawdd ei ffurfweddu mewn llawer o wahanol ffyrdd ... ac yn bwysicaf oll, mae technolegau presennol (fel Kubernetes) yn ei gwneud hi'n bosibl graddio pŵer cyfrifiadurol yn dibynnu ar y llwyth .

Mae'r agwedd ariannol bob amser yn bwysig. Mae'r offeryn a drafodir yn yr erthygl hon wedi'i gynllunio i helpu i leihau cyllidebau wrth ddefnyddio seilwaith cwmwl gyda Kubernetes.

Cyflwyniad

Kubecost yn startup California gan Google, creu ateb ar gyfer cyfrifo costau seilwaith mewn gwasanaethau cwmwl (o fewn clwstwr Kubernetes + adnoddau a rennir), chwilio am dagfeydd mewn lleoliadau clwstwr ac anfon hysbysiadau priodol i Slack.

Mae gennym gleientiaid gyda Kubernetes yn y cymylau AWS a GCP cyfarwydd, ac yn Azure, sy'n fwy prin i'r gymuned Linux - yn gyffredinol, ar bob platfform a gefnogir gan Kubecost. Ar gyfer rhai ohonynt, rydym yn cyfrifo costau gwasanaethau o fewn clwstwr ein hunain (gan ddefnyddio dull tebyg i'r un a ddefnyddir gan Kubecost), a hefyd yn monitro costau seilwaith ac yn ceisio eu hoptimeiddio. Felly, mae'n rhesymegol bod gennym ddiddordeb yn y posibilrwydd o awtomeiddio tasgau o'r fath.

Mae cod ffynhonnell prif fodiwl Kubecost ar agor o dan delerau'r drwydded Ffynhonnell Agored (Trwydded Apache 2.0). Gellir ei ddefnyddio'n rhydd a dylai'r nodweddion sydd ar gael fod yn ddigonol ar gyfer prosiectau bach. Fodd bynnag, busnes yw busnes: mae gweddill y cynnyrch ar gau, gellir ei ddefnyddio gan tanysgrifiadau taledig, sydd hefyd yn awgrymu cefnogaeth fasnachol. Yn ogystal, mae'r awduron yn cynnig trwydded am ddim ar gyfer clystyrau bach (1 clwstwr gyda 10 nod - yn ystod ysgrifennu'r erthygl hon, mae'r terfyn hwn wedi ehangu i 20 nod) neu gyfnod prawf gyda galluoedd llawn am 1 mis.

Sut mae popeth yn gweithio

Felly, prif ran Kubecost yw'r cais cost-model, a ysgrifennwyd yn Go. Gelwir siart Helm sy'n disgrifio'r system gyfan cost-dadansoddwr ac yn greiddiol iddo mae cynulliad o fodel cost gyda Prometheus, Grafana a sawl dangosfwrdd.

Yn gyffredinol, mae gan fodel cost ei ryngwyneb gwe ei hun, sy'n dangos graffiau ac ystadegau manwl ar gostau ar ffurf tabl, yn ogystal ag, wrth gwrs, awgrymiadau ar gyfer optimeiddio costau. Mae'r dangosfyrddau a gyflwynir yn Grafana yn gam cynharach yn natblygiad Kubecost ac yn cynnwys llawer o'r un data â'r model cost, gan eu hategu â'r ystadegau arferol ar y defnydd o CPU / cof / rhwydwaith / gofod disg yn y clwstwr a'i cydrannau.

Sut mae Kubecost yn gweithio?

  • Mae model cost yn derbyn prisiau am wasanaethau trwy API darparwyr cwmwl.
  • Ymhellach, yn dibynnu ar fath haearn y nod a'r rhanbarth, cyfrifir y gost fesul nod.
  • Yn seiliedig ar gost rhedeg nodau, mae pob pod dail yn cael cost yr awr o ddefnydd CPU, fesul gigabeit o gof a ddefnyddir, ac fesul awr fesul gigabeit o ddata a storir - yn dibynnu ar y nod yr oedd yn rhedeg arno neu'r dosbarth storio.
  • Yn seiliedig ar gost gweithredu codennau unigol, cyfrifir taliad ar gyfer gofodau enwau, gwasanaethau, Defnyddiau, Setiau Gwladol.
  • Cyfrifir ystadegau gan ddefnyddio metrigau a ddarperir gan kube-state-metrics a nod-allforiwr.

Mae'n bwysig ystyried bod Kubecost yn ddiofyn yn unig yn cyfrif adnoddau sydd ar gael yn Kubernetes. Nid yw cronfeydd data allanol, gweinyddwyr GitLab, storfeydd S3 a gwasanaethau eraill nad ydynt yn y clwstwr (hyd yn oed os ydynt wedi'u lleoli yn yr un cwmwl) yn weladwy iddo. Er ar gyfer GCP ac AWS gallwch ychwanegu allweddi eich cyfrifon gwasanaeth a chyfrifo popeth gyda'i gilydd.

Gosod

Mae Kubecost yn gofyn am:

  • Kubernetes fersiwn 1.8 ac uwch;
  • kube-state-metrics;
  • Prometheus;
  • node-allforiwr.

Digwyddodd felly bod yr holl amodau hyn wedi'u bodloni ymlaen llaw yn ein clystyrau, felly daeth yn ddigon i nodi'r pwynt terfyn cywir ar gyfer mynediad i Prometheus yn unig. Fodd bynnag, mae'r siart Helm kubecost swyddogol yn cynnwys popeth sydd ei angen arnoch i redeg ar glwstwr noeth.

Mae yna sawl ffordd i osod Kubecost:

  1. Dull gosod safonol a ddisgrifir yn cyfarwyddiadau ar wefan y datblygwr ychwanegwch y storfa dadansoddwr cost i Helm, ac yna gosodwch y siart. Y cyfan sydd ar ôl yw anfon eich porthladd ymlaen ac addasu'r gosodiadau i'r cyflwr dymunol â llaw (trwy kubectl) a / neu ddefnyddio'r rhyngwyneb gwe model cost.

    Nid ydym hyd yn oed wedi rhoi cynnig ar y dull hwn, gan nad ydym yn defnyddio ffurfweddiadau parod trydydd parti, ond mae'n edrych fel opsiwn da “rhowch gynnig arni drosoch eich hun”. Os oes gennych chi rai o gydrannau'r system eisoes wedi'u gosod neu os ydych chi eisiau mwy o fireinio, mae'n well ystyried yr ail lwybr.

  2. Defnyddiwch yn y bôn yr un siart, ond ei ffurfweddu a'i osod eich hun mewn unrhyw ffordd gyfleus.

    Fel y crybwyllwyd eisoes, yn ogystal â'r kubecost ei hun, mae'r siart hon yn cynnwys siartiau Grafana a Prometheus, y gellir eu haddasu hefyd yn ôl y dymuniad.

    Ar gael ar y siart values.yaml ar gyfer dadansoddwr cost yn caniatáu ichi ffurfweddu:

    • rhestr o gydrannau dadansoddwr cost y mae angen eu defnyddio;
    • eich pwynt terfynol ar gyfer Prometheus (os oes gennych un eisoes);
    • parthau a gosodiadau mynediad eraill ar gyfer model cost a Grafana;
    • anodiadau ar gyfer codennau;
    • yr angen i ddefnyddio storfa barhaol a'i faint.

    Mae rhestr gyflawn o'r opsiynau ffurfweddu sydd ar gael gyda disgrifiadau ar gael yn dogfennaeth.

    Gan na all kubecost yn ei fersiwn sylfaenol gyfyngu ar fynediad, bydd angen i chi ffurfweddu awdur sylfaenol ar unwaith ar gyfer y panel gwe.

  3. I osod dim ond craidd y system - model cost. I wneud hyn, rhaid i chi gael Prometheus wedi'i osod yn y clwstwr a nodi gwerth cyfatebol ei gyfeiriad yn y newidyn prometheusEndpoint am Helm. Ar ôl hynny - gwnewch gais set o gyfluniadau YAML yn y clwstwr.

    Unwaith eto, bydd yn rhaid i chi ychwanegu Ingress â basic-auth â llaw. Yn olaf, bydd angen i chi ychwanegu adran ar gyfer casglu metrigau model cost ynddi extraScrapeConfigs yn y ffurfwedd 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

Beth gawn ni?

Gyda gosodiad llawn, mae panel gwe kubecost a Grafana ar gael inni gyda set o ddangosfyrddau.

Cyfanswm cost, a arddangosir ar y brif sgrin, mewn gwirionedd yn dangos cost amcangyfrifedig adnoddau ar gyfer y mis. hwn rhagamcanol pris yn adlewyrchu'r gost o ddefnyddio'r clwstwr (y mis) ar y lefel bresennol o ddefnydd adnoddau.

Mae'r metrig hwn yn fwy ar gyfer dadansoddi treuliau a'u hoptimeiddio. Nid yw'n gyfleus iawn edrych ar gyfanswm costau Gorffennaf haniaethol mewn kubecost: bydd yn rhaid i chi wneud hyn mynd i filio. Ond gallwch weld costau wedi'u dadansoddi yn ôl gofodau enwau, labeli, codennau am 1/2/7/30/90 diwrnod, na fydd bilio byth yn eu dangos i chi.

Adolygiad Kubecost ar gyfer arbed arian ar Kubernetes yn y cymylau

Wrth siarad am labelau. Dylech fynd i'r gosodiadau ar unwaith a gosod enwau'r labeli a fydd yn cael eu defnyddio fel categorïau ychwanegol ar gyfer costau grwpio:

Adolygiad Kubecost ar gyfer arbed arian ar Kubernetes yn y cymylau

Gallwch hongian unrhyw labeli arnyn nhw - cyfleus os oes gennych chi'ch system labelu eich hun yn barod.

Hefyd yno gallwch chi newid cyfeiriad y pwynt terfyn API y mae'r model cost yn cysylltu ag ef, addasu maint y disgownt yn GCP a gosod eich prisiau eich hun am adnoddau ac arian cyfred ar gyfer eu mesur (am ryw reswm nid yw'r nodwedd yn effeithio ar Cyfanswm y gost).

Gall Kubecost ddangos amrywiol problemau yn y clwstwr (a hyd yn oed yn effro rhag ofn y bydd perygl). Yn anffodus, nid yw'r opsiwn yn ffurfweddu, ac felly, os oes gennych amgylcheddau ar gyfer datblygwyr a'u defnyddio, byddwch yn gweld rhywbeth fel hyn yn gyson:

Adolygiad Kubecost ar gyfer arbed arian ar Kubernetes yn y cymylau

Offeryn pwysig - Arbedion Clwstwr. Mae'n mesur gweithgaredd codennau (defnyddio adnoddau, gan gynnwys adnoddau rhwydwaith), a hefyd yn cyfrifo faint o arian y gallwch chi ei arbed ac ar beth.

Efallai ei bod yn ymddangos bod awgrymiadau optimeiddio yn eithaf amlwg, ond mae profiad yn awgrymu bod rhywbeth i edrych arno o hyd. Yn benodol, mae gweithgaredd rhwydwaith codennau'n cael ei fonitro (mae Kubecost yn awgrymu rhoi sylw i rai anactif), mae'r cof gofynnol a gwirioneddol a defnydd CPU yn cael ei gymharu, yn ogystal â'r CPU a ddefnyddir gan nodau clwstwr (yn awgrymu cwympo sawl nod yn un), disg llwyth a chwpl o ddwsinau mwy o baramedrau.

Fel gydag unrhyw fater optimeiddio, mae optimeiddio adnoddau yn seiliedig ar ddata Kubecost yn gofyn am: trin yn ofalus. Er enghraifft, mae Cluster Savings yn awgrymu dileu nodau, gan honni ei fod yn ddiogel, ond nid yw'n ystyried presenoldeb detholwyr nodau a llygrwyr yn y codennau a ddefnyddir arnynt nad ydynt ar gael ar nodau eraill. Ac yn gyffredinol, hyd yn oed yr awduron y cynnyrch yn eu erthygl ddiweddar (gyda llaw, gall fod yn ddefnyddiol iawn i'r rhai sydd â diddordeb ym mhwnc y prosiect) argymhellir peidio â rhuthro i optimeiddio costau, ond i fynd i'r afael â'r mater yn feddylgar.

Canlyniadau

Ar ôl defnyddio kubecost am fis ar un neu ddau o brosiectau, gallwn ddod i'r casgliad ei fod yn offeryn diddorol (a hefyd yn hawdd ei ddysgu a'i osod) ar gyfer dadansoddi ac optimeiddio costau ar gyfer gwasanaethau darparwyr cwmwl a ddefnyddir ar gyfer clystyrau Kubernetes. Trodd y cyfrifiadau allan i fod yn gywir iawn: yn ein harbrofion roeddent yn cyd-daro â'r hyn yr oedd y darparwyr ei angen mewn gwirionedd.

Mae yna rai anfanteision hefyd: mae yna fygiau nad ydyn nhw'n hanfodol, ac mewn rhai mannau nid yw'r swyddogaeth yn cynnwys yr anghenion sy'n benodol i rai prosiectau. Fodd bynnag, os oes angen i chi ddeall yn gyflym i ble mae'r arian yn mynd a beth y gellir ei “dorri” er mwyn lleihau'r bil ar gyfer gwasanaethau cwmwl yn gyson 5-30% (dyma beth ddigwyddodd yn ein hachos ni), mae hwn yn opsiwn gwych .

PS

Darllenwch hefyd ar ein blog:

Ffynhonnell: hab.com

Ychwanegu sylw