ڪبرنيٽس ڪلستر وسيلن جي نگراني

ڪبرنيٽس ڪلستر وسيلن جي نگراني

مون ڪيوبي ايگل ٺاهيو - هڪ پروميٿيس برآمد ڪندڙ. اهو هڪ بهترين شيء آهي جيڪو ننڍن ۽ وچولي سائيز جي ڪلستر جي وسيلن کي بهتر سمجهڻ ۾ مدد ڪري ٿو. آخر ۾، مون سوين ڊالر بچايو ڇو ته مون صحيح مشين جي قسمن کي چونڊيو ۽ ڪم لوڊ لاءِ ايپليڪيشن وسيلن جي حدن کي ترتيب ڏنو.

مان توهان کي فائدن بابت ٻڌايان ٿو ڪوبي ايگل، پر پهرين آئون وضاحت ڪندس ته ڇا فساد ٿيو ۽ ڇو اعليٰ معيار جي نگراني جي ضرورت هئي.

مون 4-50 نوڊس جا ڪيترائي ڪلستر منظم ڪيا. هر ڪلستر ۾ 200 مائڪرو سروسز ۽ ايپليڪيشنون شامل آهن. موجوده هارڊويئر جو بهتر استعمال ڪرڻ لاءِ، گهڻيون ترتيبون ترتيب ڏنيون ويون burstable RAM ۽ CPU وسيلن سان. هن طريقي سان، پوڊز دستياب وسيلن کي وٺي سگهن ٿا، ۽ ساڳئي وقت هن نوڊ تي ٻين ايپليڪيشنن سان مداخلت نه ڪن. خير، اهو عظيم ناهي؟

۽ جيتوڻيڪ ڪلستر استعمال ڪيو نسبتا ٿورڙو سي پي يو (8٪) ۽ رام (40٪)، اسان کي مسلسل پوڊز سان پريشاني هئي جڏهن اهي نوڊ تي دستياب کان وڌيڪ ميموري مختص ڪرڻ جي ڪوشش ڪندا هئا. ان وقت اسان وٽ ڪبرنيٽس وسيلن جي نگراني لاءِ صرف هڪ ڊيش بورڊ هو. هن وانگر:

ڪبرنيٽس ڪلستر وسيلن جي نگراني
گرافانا ڊيش بورڊ صرف caAdvisor ميٽرڪس سان

اهڙي پينل سان، اهو نوڊس ڏسڻ ۾ ڪو مسئلو ناهي جيڪو تمام گهڻو ياداشت ۽ سي پي يو کائي ٿو. مسئلو اهو آهي ته اهو ڄاڻڻ جو سبب ڇا آهي. پوڊز کي جاءِ تي رکڻ لاءِ، ڪو به يقينن سڀني پوڊس تي گارنٽي ٿيل وسيلا قائم ڪري سگھي ٿو (درخواست ڪيل وسيلن جي حد جي برابر). پر هي هارڊويئر جو بهترين استعمال نه آهي. ڪلستر وٽ ڪيترائي سؤ گيگا بائيٽ ميموري هئي، جڏهن ته ڪجهه نوڊس بک مري رهيا هئا، جڏهن ته ٻين وٽ 4-10 GB رکيل هئي.

اهو ظاهر ٿئي ٿو ته ڪبرنيٽس شيڊولر ڪم لوڊ کي ورهايو اڻ برابري سان دستياب وسيلن تي. ڪبرنيٽس شيڊولر مختلف ترتيبن کي حساب ۾ رکي ٿو: لاڳاپو، داغ ۽ رواداري ضابطا، نوڊ چونڊيندڙ جيڪي دستياب نوڊس کي محدود ڪري سگھن ٿا. پر منهنجي صورت ۾ اهڙي ڪا به شيءِ نه هئي، ۽ هر نوڊ تي گهربل وسيلن جي بنياد تي پوڊ پلان ڪيا ويا.

نوڊ جنهن وٽ سڀ کان وڌيڪ مفت وسيلا آهن ۽ جيڪي درخواست جي شرطن کي پورو ڪري ٿو پوڊ لاءِ چونڊيو ويو. اسان ڏٺا ته نوڊس تي گهربل وسيلا اصل استعمال سان نه ٿا ملن، ۽ اهو آهي جتي ڪوبي ايگل ۽ ان جي وسيلن جي نگراني جي صلاحيت بچاء ۾ آئي.

مون وٽ لڳ ڀڳ سڀني ڪبرنيٽس ڪلسٽرز جي نگراني ڪئي وئي آهي صرف ان سان نوڊ برآمد ڪندڙ и ڪوبي اسٽيٽ ميٽرڪس. نوڊ ايڪسپورٽر I/O ۽ ڊسڪ، سي پي يو، ۽ رام جي استعمال تي انگ اکر مهيا ڪري ٿو، جڏهن ته ڪوبي اسٽيٽ ميٽرڪس ڏيکاري ٿو ڪبرنيٽس اعتراض ميٽرڪس جهڙوڪ درخواستون ۽ سي پي يو ۽ ميموري وسيلن جي حد.

اسان کي استعمال جي ميٽرڪس کي گڏ ڪرڻ جي ضرورت آهي درخواستن ۽ حدن جي ميٽرڪس سان Grafana ۾، ۽ پوء اسان کي مسئلي بابت سڀ معلومات حاصل ڪنداسين. اهو آواز سادو آهي، پر ٻه اوزار اصل ۾ ليبلن کي مختلف طور تي نالو ڏين ٿا، ۽ ڪجهه ميٽرڪس ۾ ميٽاداٽا ليبل نه آهن. ڪوبي ايگل سڀ ڪجهه پاڻ ڪندو آهي ۽ پينل هن طرح نظر اچي ٿو:

ڪبرنيٽس ڪلستر وسيلن جي نگراني

ڪبرنيٽس ڪلستر وسيلن جي نگراني
ڪوبي ايگل ڊيش بورڊ

اسان وسيلن سان ڪيترن ئي مسئلن کي حل ڪرڻ ۽ سامان بچائڻ جو انتظام ڪيو:

  1. ڪجهه ڊولپرز کي خبر نه هئي ته ڪيترا وسيلا مائڪرو سروسز جي ضرورت آهي (يا صرف پريشان نه ڪيو). اسان وٽ وسيلن لاءِ غلط درخواستون ڳولڻ جو ڪو به طريقو نه هو - ان لاءِ اسان کي ڄاڻڻ جي ضرورت آهي واپرائڻ ۽ درخواستون ۽ حدون. ھاڻي اھي ڏسندا آھن Prometheus ميٽرڪس، اصل استعمال جي نگراني ڪن ٿا ۽ درخواستن ۽ حدن کي ترتيب ڏين ٿا.
  2. JVM ايپليڪيشنون گهڻو رام وٺن ٿيون جيترو اهي سنڀالي سگهن ٿيون. ڪچرو ڪليڪٽر صرف ميموري جاري ڪري ٿو جڏهن 75 سيڪڙو کان وڌيڪ استعمال ٿيل آهي. ۽ جيئن ته اڪثر خدمتن ۾ burstable ياداشت آهي، اهو هميشه JVM پاران قبضو ڪيو ويو آهي. تنهن ڪري، اهي سڀئي جاوا خدمتون کائي رهيا هئا توقع کان وڌيڪ رام.
  3. ڪجهه ايپليڪيشنن تمام گهڻي ياداشت جي درخواست ڪئي، ۽ ڪبرنيٽس شيڊولر انهن نوڊس کي ٻين ايپليڪيشنن کي نه ڏنو، جيتوڻيڪ حقيقت ۾ اهي ٻين نوڊس کان وڌيڪ آزاد هئا. ھڪڙي ڊولپر اتفاقي طور تي درخواست ۾ ھڪڙو اضافي عدد شامل ڪيو ۽ ريم جو ھڪڙو وڏو ٽڪرو پڪڙيو: 20 جي بدران 2 GB. ڪنھن به نوٽيس نه ڪيو. ايپليڪيشن ۾ 3 نقل هئا، تنهنڪري 3 نوڊس متاثر ٿيا.
  4. اسان وسيلن جي حدن کي متعارف ڪرايو، صحيح درخواستن سان ٻيهر شيڊول ٿيل پوڊ، ۽ سڀني نوڊس ۾ هارڊويئر جي استعمال جو مثالي توازن حاصل ڪيو. ڪجهه نوڊس مڪمل طور تي بند ٿي سگهيا آهن. ۽ پوءِ اسان ڏٺو ته اسان وٽ غلط مشينون هيون (سي پي يو پر مبني، ياداشت تي مبني نه). اسان قسم کي تبديل ڪيو ۽ ڪيترن ئي وڌيڪ نوڊس کي ختم ڪيو.

نتيجو

ڪلستر ۾ burstable وسيلن سان، توهان دستياب هارڊويئر کي وڌيڪ موثر طريقي سان استعمال ڪريو ٿا، پر ڪبرنيٽس شيڊولر وسيلن جي درخواستن جي بنياد تي پوڊ شيڊول ڪري ٿو، ۽ اهو ڀريل آهي. ھڪڙي پٿر سان ٻن پکين کي مارڻ لاء: مسئلن کان بچڻ ۽ وسيلن کي مڪمل طور تي استعمال ڪرڻ لاء، توھان کي سٺي نگراني جي ضرورت آھي. انهي ڪري اهو مفيد ٿيندو ڪوبي ايگل (Prometheus برآمد ڪندڙ ۽ گرافانا ڊيش بورڊ).

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

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