بادلن ۾ ڪبرنيٽس تي پئسا بچائڻ لاءِ Kubecost جائزو

بادلن ۾ ڪبرنيٽس تي پئسا بچائڻ لاءِ Kubecost جائزو

في الحال، وڌيڪ ۽ وڌيڪ ڪمپنيون انهن جي انفراسٽرڪچر کي هارڊويئر سرورز ۽ انهن جي پنهنجي ورچوئل مشينن کان بادل ڏانهن منتقل ڪري رهيا آهن. هي حل بيان ڪرڻ آسان آهي: هارڊويئر جي باري ۾ پريشان ٿيڻ جي ڪا ضرورت ناهي، ڪلسٽر آساني سان ڪيترن ئي طريقن سان ترتيب ڏنل آهي... ۽ سڀ کان اهم، موجوده ٽيڪنالاجيون (جهڙوڪ ڪبرنيٽس) ان کي ممڪن بڻائين ٿيون ته آسانيءَ سان ڪمپيوٽنگ پاور کي ماپڻ جي لحاظ کان لوڊ. .

مالي پاسو هميشه اهم آهي. هن آرٽيڪل ۾ بحث ڪيل اوزار ڪبرنيٽس سان ڪلائوڊ انفراسٽرڪچر استعمال ڪندي بجيٽ کي گهٽائڻ ۾ مدد لاءِ ٺهيل آهي.

تعارف

ڪوبيڪوسٽ گوگل طرفان ڪيليفورنيا جي شروعات آهي، ڪلائوڊ سروسز ۾ انفراسٽرڪچر جي خرچن جي ڳڻپ لاءِ هڪ حل ٺاهيندي (ڪئبرنيٽس ڪلستر + گڏيل وسيلن جي اندر)، ڪلستر سيٽنگن ۾ رڪاوٽون ڳولڻ ۽ سليڪ کي مناسب اطلاع موڪلڻ.

اسان وٽ ڪلائنٽ آهن Kubernetes سان گڏ ٻنهي واقف AWS ۽ GCP بادل ۾، ۽، گهڻو ڪري لينڪس ڪميونٽي لاء، Azure - عام طور تي، سڀني پليٽ فارمن تي جيڪو Kubecost جي مدد سان. انهن مان ڪجهه لاءِ، اسان پاڻ انٽرا ڪلسٽر سروسز جي قيمتن جو اندازو لڳايو (ڪيوبڪوسٽ جي استعمال سان ملندڙ هڪ طريقو استعمال ڪندي)، ۽ انفراسٽرڪچر جي خرچن جي نگراني ڪريون ٿا ۽ انهن کي بهتر ڪرڻ جي ڪوشش ڪريون ٿا. تنهن ڪري، اهو منطقي آهي ته اسان اهڙن ڪمن کي خودڪار ڪرڻ جي امڪان ۾ دلچسپي وٺندا هئاسين.

مکيه Kubecost ماڊل جو سورس ڪوڊ اوپن سورس لائسنس (Apache License 2.0) جي شرطن تحت کليل آهي. ان کي آزاديءَ سان استعمال ڪري سگھجي ٿو ۽ موجود خاصيتون ننڍين منصوبن لاءِ ڪافي ھئڻ گهرجن. بهرحال، ڪاروبار ڪاروبار آهي: باقي پيداوار بند آهي، ان کي استعمال ڪري سگهجي ٿو ادا ڪيل سبسڪرپشن، جنهن جو مطلب پڻ تجارتي مدد آهي. ان کان علاوه، ليکڪ پيش ڪن ٿا هڪ مفت لائسنس ننڍن ڪلسٽرن لاءِ (1 ڪلستر 10 نوڊس سان - هن آرٽيڪل جي لکڻ دوران، اها حد 20 نوڊس تائين وڌي وئي آهي) يا 1 مهيني لاءِ مڪمل صلاحيتن سان آزمائشي دور.

ڪيئن سڀڪنھن شيء کي ڪم

تنهن ڪري، Kubecost جو بنيادي حصو ايپليڪيشن آهي قيمت ماڊلگو ۾ لکيل آهي. هڪ هيلم چارٽ جيڪو سڄي سسٽم کي بيان ڪري ٿو سڏيو ويندو آهي قيمت جو تجزيو ڪندڙ ۽ ان جي بنياد تي پرومٿيوس، گرافانا ۽ ڪيترن ئي ڊيش بورڊن سان گڏ قيمتي ماڊل مان هڪ اسيمبلي آهي.

عام طور تي ڳالهائڻ، قيمت-ماڊل جو پنهنجو ويب انٽرفيس آهي، جيڪو ڏيکاري ٿو گراف ۽ تفصيلي انگ اکر قيمتن تي جدول جي شڪل ۾، ۽ يقينا، قيمتن کي بهتر ڪرڻ لاء صلاحون. گرافانا ۾ پيش ڪيل ڊيش بورڊز Kubecost جي ترقيءَ ۾ اڳئين اسٽيج تي مشتمل آھن ۽ قيمت-ماڊل جيترو ئي ڊيٽا تي مشتمل آھي، انھن کي ڪلستر ۽ ان جي اجزاء ۾ CPU/ميموري/ نيٽ ورڪ/ ڊسڪ اسپيس جي استعمال تي معمولي انگن اکرن سان پورو ڪري ٿو. .

ڪبيڪوسٽ ڪيئن ڪم ڪندو آهي؟

  • قيمت-ماڊل ڪلائوڊ فراهم ڪندڙن جي API ذريعي خدمتن لاءِ قيمتون وصول ڪري ٿو.
  • وڌيڪ، نوڊ جي لوھ جي قسم ۽ علائقي تي منحصر آھي، قيمت في نوڊ جي حساب سان آھي.
  • هلندڙ نوڊس جي قيمت جي بنياد تي، هر ليف پوڊ سي پي يو جي استعمال جي في ڪلاڪ جي قيمت حاصل ڪري ٿو، في گيگا بائيٽ استعمال ڪيل ميموري، ۽ في ڪلاڪ في گيگا بائيٽ ڊيٽا جو ذخيرو - ان بنياد تي جيڪو نوڊ تي هلندو هو يا اسٽوريج جي درجي تي.
  • آپريٽنگ انفرادي پوڊ جي قيمت جي بنياد تي، ادائگي جي حساب سان حساب ڪيو ويندو آهي نالا اسپيس، خدمتون، ڊيپلائيمينٽ، اسٽيٽفول سيٽ.
  • انگ اکر ڪبي-اسٽٽ-ميٽرڪس ۽ نوڊ-ايڪسپورٽر پاران مهيا ڪيل ميٽرڪ استعمال ڪندي ڳڻيا ويندا آهن.

اهو سمجهڻ ضروري آهي ته Kubecost ڊفالٽ طور صرف ڪبرنيٽس ۾ موجود وسيلن کي شمار ڪري ٿو. خارجي ڊيٽابيس، GitLab سرور، S3 اسٽوريج ۽ ٻيون خدمتون جيڪي ڪلستر ۾ نه آهن (جيتوڻيڪ ساڳئي بادل ۾ واقع آهن) ان کي نظر نه اينديون آهن. جيتوڻيڪ GCP ۽ AWS لاءِ توهان پنهنجي سروس اڪائونٽس جون ڪنجيون شامل ڪري سگهو ٿا ۽ هر شي کي گڏ ڪري سگهو ٿا.

تنصيب

Kubecost جي ضرورت آهي:

  • Kubernetes نسخو 1.8 ۽ اعلي؛
  • kube-stat-metrics;
  • پروميٿيس؛
  • نوڊ برآمد ڪندڙ.

ائين ٿيو آهي ته اسان جي ڪلستر ۾ اهي سڀ شرطون اڳ ۾ پورا ٿي ويا هئا، تنهنڪري اهو ظاهر ٿيو ته اهو صرف Prometheus تائين پهچڻ لاء صحيح نقطي بيان ڪرڻ لاء ڪافي هو. جڏهن ته، سرڪاري ڪبيڪوسٽ هيلم چارٽ هر شي تي مشتمل آهي جيڪو توهان کي ننگي ڪلستر تي هلائڻ جي ضرورت آهي.

Kubecost انسٽال ڪرڻ جا ڪيترائي طريقا آهن:

  1. معياري تنصيب جو طريقو بيان ڪيو ويو آهي هدايتون ڊولپر جي ويب سائيٽ تي. گھربل Helm ۾ قيمت-تجزيي جي مخزن کي شامل ڪريو، ۽ پوء چارٽ کي انسٽال ڪريو. باقي اهو آهي ته توهان جي بندرگاهن کي اڳتي وڌايو وڃي ۽ سيٽنگون ترتيب ڏيو مطلوب رياست کي دستي طور تي (ڪيوبيڪل ذريعي) ۽ / يا قيمت-ماڊل ويب انٽرفيس استعمال ڪندي.

    اسان هن طريقي جي ڪوشش نه ڪئي آهي، ڇو ته اسان ٽئين پارٽي جي تيار ڪيل ترتيبن کي استعمال نه ڪندا آهيون، پر اهو سٺو لڳندو آهي "بس پنهنجي لاء ڪوشش ڪريو" اختيار. جيڪڏھن توھان وٽ اڳ ۾ ئي سسٽم جا ڪجھ حصا نصب ٿيل آھن يا توھان چاھيو ٿا وڌيڪ ٺيڪ ٺاھڻ، اھو بھتر آھي ته ٻئي رستي تي غور ڪريو.

  2. لازمي طور تي استعمال ڪريو ساڳيو چارٽ، پر ان کي پاڻ ترتيب ۽ انسٽال ڪريو ڪنهن به آسان طريقي سان.

    جيئن اڳ ۾ ئي ذڪر ڪيو ويو آهي، خود kubecost کان علاوه، هي چارٽ گرافانا ۽ پروميٿيوس چارٽ تي مشتمل آهي، جيڪي پڻ گهربل طور تي ترتيب ڏئي سگهجن ٿيون.

    چارٽ تي موجود values.yaml قيمت-تجزيي لاءِ توهان کي ترتيب ڏيڻ جي اجازت ڏئي ٿي:

    • قيمت-تجزيي جي اجزاء جي هڪ فهرست جنهن کي ترتيب ڏيڻ جي ضرورت آهي؛
    • Prometheus لاءِ توهان جو آخري نقطو (جيڪڏهن توهان وٽ اڳ ۾ ئي آهي)؛
    • ڊومين ۽ قيمت-ماڊل ۽ گرافانا لاءِ ٻيون داخلا سيٽنگون؛
    • پوڊ لاء نوٽس؛
    • مستقل اسٽوريج ۽ ان جي سائيز کي استعمال ڪرڻ جي ضرورت آهي.

    تفصيلن سان گڏ دستياب ترتيبن جي اختيارن جي مڪمل فهرست ۾ موجود آھي دستاويز.

    جيئن ته kubecost ان جي بنيادي ورزن ۾ رسائي کي محدود نٿو ڪري سگهي، توهان کي فوري طور تي ويب پينل لاء بنيادي-تصوير ترتيب ڏيڻ جي ضرورت پوندي.

  3. انسٽال ڪريو صرف سسٽم جو مرڪز - قيمت ماڊل. هن کي ڪرڻ لاءِ، توهان کي ڪلسٽر ۾ Prometheus انسٽال ٿيل هوندو ۽ متغير ۾ ان جي ايڊريس جي لاڳاپيل قيمت کي بيان ڪرڻ گهرجي. prometheusEndpoint هيلم لاء. ان کان پوء - لاڳو YAML ترتيبن جو سيٽ ڪلستر ۾.

    ٻيهر، توهان کي دستي طور تي شامل ڪرڻو پوندو Ingress بنيادي-تصوير سان. آخرڪار، توهان کي قيمت-ماڊل ميٽرڪس گڏ ڪرڻ لاء هڪ سيڪشن شامل ڪرڻ جي ضرورت پوندي extraScrapeConfigs 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

اسان کي ڇا حاصل آهي؟

مڪمل انسٽاليشن سان، اسان وٽ اسان جي اختيار ۾ آهي ڪوبيڪوسٽ ۽ گرافانا ويب پينل ڊيش بورڊ جي هڪ سيٽ سان.

مڪمل خرچ، مکيه اسڪرين تي ڏيکاريل آهي، اصل ۾ مهيني لاء وسيلن جي اندازي مطابق قيمت ڏيکاري ٿو. هي پيش ڪيل قيمت ظاهر ڪري ٿي ڪلسٽر استعمال ڪرڻ جي قيمت (في مهيني) وسيلن جي استعمال جي موجوده سطح تي.

هي ميٽرڪ خرچن جو تجزيو ڪرڻ ۽ انهن کي بهتر ڪرڻ لاءِ وڌيڪ آهي. kubecost ۾ جولاءِ جي خلاصي جي مجموعي قيمتن کي ڏسڻ بلڪل آسان ناهي: توهان کي اهو ڪرڻو پوندو بلنگ ڏانھن وڃو. پر توهان 1/2/7/30/90 ڏينهن لاءِ نالا اسپيس، ليبلز، پوڊز جي حساب سان ٽوڙيل قيمتون ڏسي سگهو ٿا، جيڪا بلنگ توهان کي ڪڏهن به نه ڏيکاريندي.

بادلن ۾ ڪبرنيٽس تي پئسا بچائڻ لاءِ Kubecost جائزو

ڳالهائڻ ليبل. توهان کي فوري طور تي سيٽنگون ڏانهن وڃڻ گهرجي ۽ انهن ليبلن جا نالا مقرر ڪرڻ گهرجي جيڪي گروپن جي قيمتن لاءِ اضافي زمرا استعمال ڪيا ويندا:

بادلن ۾ ڪبرنيٽس تي پئسا بچائڻ لاءِ Kubecost جائزو

توهان انهن تي ڪنهن به ليبل کي لٽڪائي سگهو ٿا - آسان جيڪڏهن توهان وٽ اڳ ۾ ئي پنهنجو ليبلنگ سسٽم آهي.

اتي پڻ توھان تبديل ڪري سگھوٿا API جي آخري پوائنٽ جو پتو جنھن سان لاڳت-ماڊل ڳنڍي ٿو، GCP ۾ رعايت جي سائيز کي ترتيب ڏيو ۽ پنھنجي قيمتن لاءِ وسيلن ۽ ڪرنسي لاءِ انھن جي ماپ لاءِ مقرر ڪريو (ڪجھ سببن لاءِ خصوصيت مجموعي قيمت تي اثر انداز نه ٿئي).

Kubecost مختلف ڏيکاري سگهي ٿو ڪلستر ۾ مسئلا (۽ خطري جي صورت ۾ به خبردار). بدقسمتي سان، اختيار ترتيب ڏيڻ وارو نه آهي، ۽ تنهن ڪري، جيڪڏهن توهان وٽ ڊولپرز لاء ماحول آهي ۽ انهن کي استعمال ڪريو، توهان کي مسلسل ڪجهه ڏسڻ ۾ ايندي:

بادلن ۾ ڪبرنيٽس تي پئسا بچائڻ لاءِ Kubecost جائزو

هڪ اهم اوزار - ڪلستر بچت. اهو پوڊ جي سرگرمي کي ماپ ڪري ٿو (وسيلا جو استعمال، نيٽ ورڪ سميت)، ۽ اهو پڻ حساب ڪري ٿو ته ڪيترو پئسا ۽ توهان ڇا بچائي سگهو ٿا.

اهو لڳي سگھي ٿو ته اصلاح جا ٽوٽڪا بلڪل واضح آهن، پر تجربو ڏيکاري ٿو ته اڃا تائين ڏسڻ لاء ڪجهه آهي. خاص طور تي، پوڊس جي نيٽ ورڪ سرگرمي جي نگراني ڪئي وئي آهي (ڪيوبڪوسٽ غير فعال ماڻهن تي ڌيان ڏيڻ جو مشورو ڏئي ٿو)، درخواست ڪيل ۽ حقيقي ياداشت ۽ سي پي يو جي استعمال جو مقابلو ڪيو ويو آهي، انهي سان گڏ CPU ڪلستر نوڊس پاران استعمال ڪيو ويو آهي (ڪيترائي نوڊس کي هڪ ۾ ٽوڙڻ جو مشورو ڏئي ٿو)، ڊسڪ لوڊ ۽ ٻه درجن وڌيڪ پيٽرولر.

جيئن ڪنهن به اصلاح جي مسئلي سان، ڪبيڪوسٽ ڊيٽا جي بنياد تي وسيلن کي بهتر ڪرڻ جي ضرورت آهي: احتياط سان علاج ڪريو. مثال طور، ڪلستر بچت نوڊس کي ختم ڪرڻ جو مشورو ڏئي ٿو، دعوي ڪري ٿو ته اهو محفوظ آهي، پر انهن تي مقرر ڪيل پوڊز ۾ نوڊ چونڊيندڙن ۽ داغ جي موجودگي کي نظر ۾ نٿو رکي جيڪي ٻين نوڊس تي موجود نه آهن. ۽ عام طور تي، جيتوڻيڪ انهن جي پيداوار جي ليکڪن ۾ تازو مضمون (رستي سان، اهو انهن لاءِ تمام ڪارائتو ٿي سگهي ٿو جيڪي پروجيڪٽ جي موضوع ۾ دلچسپي رکن ٿا) اها سفارش ڪئي وئي آهي ته قيمت جي اصلاح ۾ جلدي نه ڪريو، پر مسئلي کي سوچڻ سان.

نتيجو

ڪجھ منصوبن تي ھڪڙي مھيني تائين ڪبيڪوسٽ استعمال ڪرڻ کان پوءِ، اسان اھو نتيجو ڪڍي سگھون ٿا ته اھو ھڪڙو دلچسپ (۽ پڻ سکڻ ۽ انسٽال ڪرڻ ۾ آسان) اوزار آھي جيڪو ڪبرنيٽس ڪلسٽرز لاءِ استعمال ٿيندڙ ڪلائوڊ فراهم ڪندڙن جي خدمتن جي قيمتن جو تجزيو ۽ اصلاح ڪرڻ لاءِ. ڳڻپيوڪر بلڪل درست ثابت ٿيو: اسان جي تجربن ۾ اھي ٺھيل آھن جيڪي مهيا ڪندڙ اصل ۾ گھربل آھن.

اتي پڻ ڪجھ ھيٺيون آھن: غير نازڪ ڪيڙا آھن، ۽ ڪجھ هنڌن تي ڪارڪردگي ڪجھ منصوبن جي مخصوص ضرورتن کي پورو نٿو ڪري. تنهن هوندي، جيڪڏهن توهان کي جلدي سمجهڻ جي ضرورت آهي ته پئسا ڪٿي وڃي رهيا آهن ۽ ڇا ٿي سگهي ٿو "ڪٽ" کي مسلسل 5-30٪ ڪلائوڊ سروسز جي بل کي گهٽائڻ لاء (اهو ئي آهي جيڪو اسان جي صورت ۾ ٿيو)، اهو هڪ بهترين اختيار آهي. .

پي ايس

اسان جي بلاگ تي پڻ پڙهو:

جو ذريعو: www.habr.com

تبصرو شامل ڪريو