گوگل جي مطابق ڪنٽينر استعمال ڪرڻ لاءِ 7 بهترين طريقا

نوٽ. ترجمو: اصل مضمون جو ليکڪ Théo Chamley، Google Cloud Solutions Architect آهي. گوگل ڪلائوڊ بلاگ لاءِ هن پوسٽ ۾، هو پنهنجي ڪمپني جي وڌيڪ تفصيلي گائيڊ جو هڪ خلاصو مهيا ڪري ٿو، جنهن کي سڏيو ويندو آهي "آپريٽنگ ڪنٽينرز لاء بهترين طريقا" ان ۾، گوگل جي ماهرن گوگل ڪبرنيٽس انجڻ ۽ وڌيڪ استعمال ڪرڻ جي حوالي سان ڪنٽينرز کي هلائڻ لاءِ بهترين طريقا گڏ ڪيا، موضوعن جي وسيع رينج کي ڇڪيندي: سيڪيورٽي کان مانيٽرنگ ۽ لاگنگ تائين. تنهن ڪري گوگل جي مطابق سڀ کان اهم ڪنٽينر طريقا ڇا آهن؟

گوگل جي مطابق ڪنٽينر استعمال ڪرڻ لاءِ 7 بهترين طريقا

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

هن آرٽيڪل ۾، اسان انهن شين جي هڪ فهرست ذريعي وڃون ٿا جيڪو توهان کي ڄاڻڻ گهرجي ۽ ڪنٽينرز کي مؤثر طريقي سان ڪبرنيٽس تي هلائڻ لاء. جيڪي تفصيل ۾ وڃڻ چاهين ٿا انهن کي مواد پڙهڻ گهرجي آپريٽنگ ڪنٽينرز لاء بهترين طريقا، ۽ پڻ ڌيان ڏيو اسان جي اڳوڻي پوسٽ ڪنٽينر گڏ ڪرڻ بابت.

1. مقامي ڪنٽينر لاگنگ ميڪانيزم استعمال ڪريو

جيڪڏهن ايپليڪيشن ڪبرنيٽس ڪلستر تي هلائي رهي آهي، لاگن لاء گهڻو ڪجهه گهربل ناهي. هڪ مرڪزي لاگنگ سسٽم ممڪن آهي ته اڳ ۾ ئي ڪلستر ۾ ٺهيل آهي جيڪو توهان استعمال ڪري رهيا آهيو. ڪبرنيٽس انجڻ استعمال ڪرڻ جي صورت ۾، هي ذميوار آهي Stackdriver لاگنگ. (نوٽ. ترجمو: ۽ جيڪڏھن توھان استعمال ڪندا آھيو پنھنجي Kubernetes تنصيب کي، اسان کي اسان جي اوپن سورس حل تي ويجھو نظر رکڻ جي صلاح ڏيو - لاگ هائوس.) پنھنجي زندگي کي سادو رکو ۽ اصلي ڪنٽينر لاگنگ ميڪانيزم استعمال ڪريو. stdout ۽ stderr ڏانهن لاگس لکو - اهي خودڪار طريقي سان وصول ڪيا ويندا، محفوظ ڪيا ويندا ۽ ترتيب ڏنل.

جيڪڏھن توھان چاھيو، توھان پڻ لاگ ان ڪري سگھو ٿا JSON فارميٽ. اهو طريقو انهن کي ميٽا ڊيٽا شامل ڪرڻ آسان بڻائي ڇڏيندو. ۽ انھن سان گڏ، Stackdriver Logging کي ھي ميٽا ڊيٽا استعمال ڪندي لاگز ذريعي ڳولھڻ جي صلاحيت ھوندي.

2. پڪ ڪريو ته ڪنٽينر بي حالت ۽ غير بدليل آهن

ڪنٽينرز لاءِ ڪبرنيٽس ڪلستر ۾ صحيح طريقي سان ڪم ڪرڻ لاءِ، اهي لازمي طور تي بي وطن ۽ غير تبديل ٿيڻ گهرجن. هڪ دفعو اهي شرط پورا ٿي ويا، ڪبرنيٽس پنهنجو ڪم ڪري سگهن ٿا، ايپليڪيشن ادارن کي ٺاهڻ ۽ تباهه ڪرڻ جڏهن ۽ جتي ضرورت هجي.

بي ترتيب مطلب ته ڪنهن به رياست (ڪنهن به قسم جي مسلسل ڊيٽا) ڪنٽينر کان ٻاهر ذخيرو ٿيل آهي. هن لاء، ضرورتن تي منحصر ڪري، ٻاهرين اسٽوريج جا مختلف قسم استعمال ڪري سگهجن ٿا: Cloud Storage, مسلسل ڊسڪ, Redis, ڪلائوڊ SQL يا ٻيا منظم ڊيٽابيس. (نوٽ. ترجمو: هن بابت وڌيڪ پڙهو اسان جي مضمون ۾ "ڪبرنيٽس لاءِ آپريٽر: رياستي ايپليڪيشنن کي ڪيئن هلائڻ".)

بي بدل مطلب ته ڪنٽينر ان جي زندگي دوران تبديل نه ڪيو ويندو: ڪابه تازه ڪاري، پيچ، ترتيب واري تبديليون. جيڪڏهن توهان کي پنهنجي ايپليڪيشن ڪوڊ کي اپڊيٽ ڪرڻ يا پيچ لاڳو ڪرڻ جي ضرورت آهي، هڪ نئين تصوير ٺاهيو ۽ ان کي ترتيب ڏيو. اها صلاح ڏني وئي آهي ته ڪنٽينر جي ترتيب (ٻڌڻ واري پورٽ، رن ٽائم ماحول جا اختيار، وغيره) کي ٻاهران منتقل ڪيو وڃي. راز и ConfigMaps. اهي نوان ڪنٽينر تصوير ٺاهڻ جي بغير اپڊيٽ ٿي سگهن ٿيون. آساني سان تصوير اسيمبلي سان پائپ لائنون ٺاهڻ لاء، توهان استعمال ڪري سگهو ٿا Cloud Build. (نوٽ. ترجمو: اسان انهن مقصدن لاءِ اوپن سورس ٽول استعمال ڪندا آهيون ڊيپ.)

گوگل جي مطابق ڪنٽينر استعمال ڪرڻ لاءِ 7 بهترين طريقا
ڪبرنيٽس ۾ ترتيب ڏيڻ جي ترتيب کي تازه ڪاري ڪرڻ جو هڪ مثال ConfigMap استعمال ڪندي پوڊس ۾ نصب ڪيل ترتيب جي طور تي

3. امتيازي ڪنٽينرز کان پاسو ڪريو

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

جيڪڏهن توهان هڪ ڪلستر کي منظم ڪريو ٿا، توهان استعمال ڪري سگهو ٿا پوڊ سيڪيورٽي پاليسي امتيازي ڪنٽينرز جي استعمال تي پابندين لاءِ.

4. روٽ وانگر هلڻ کان پاسو ڪريو

خصوصي ڪنٽينرز تي اڳ ۾ ئي بحث ڪيو ويو آهي، پر اهو اڃا به بهتر ٿيندو، ان کان علاوه، توهان ڪنٽينر اندر ايپليڪيشنن کي روٽ طور نه هلائيندا آهيو. جيڪڏهن ڪو حملو ڪندڙ روٽ رائٽس سان گڏ ايپليڪيشن ۾ ريموٽ ڪمزوري ڳولي ٿو جيڪو ڪوڊ جي عمل جي اجازت ڏئي ٿو، جنهن کان پوءِ هو اڃا تائين اڻڄاتل خطري ذريعي ڪنٽينر ڇڏڻ جي قابل آهي، هو ميزبان تي روٽ حاصل ڪندو.

هن کان بچڻ جو بهترين طريقو اهو آهي ته ڪنهن به شيءِ کي روٽ جي طور تي نه هلايو وڃي. هن کي ڪرڻ لاء، توهان هدايتون استعمال ڪري سگهو ٿا USER в Dockerfile يا runAsUser Kubernetes ۾. ڪلستر ايڊمنسٽريٽر پڻ استعمال ڪندي لاڳو ڪندڙ رويي کي ترتيب ڏئي سگھي ٿو پوڊ سيڪيورٽي پاليسي.

5. ايپليڪيشن کي مانيٽر ڪرڻ آسان بڻائي

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

گوگل جي مطابق ڪنٽينر استعمال ڪرڻ لاءِ 7 بهترين طريقا
Stackdriver تي Kubernetes ڊيش بورڊ

Prometheus اميد رکي ٿو ته ايپليڪيشن ميٽرڪس کي HTTP جي آخري پوائنٽ ڏانهن اڳتي وڌايو. ان لاءِ دستياب آهي Prometheus ڪلائنٽ لائبريريون. ساڳيو فارميٽ ٻين اوزارن جهڙوڪ استعمال ڪيو ويندو آهي OpenCensus и استيو.

6. ايپ جي صحت جي صورتحال کي دستياب ڪريو

پيداوار ۾ ايپليڪيشن مينيجمينٽ ان جي قابليت سان مدد ڪئي وئي آهي ته ان جي رياست کي پوري سسٽم تائين پهچائي. ڇا ايپليڪيشن هلي رهي آهي؟ ڇا اهو ٺيڪ آهي؟ ڇا توهان ٽرئفڪ حاصل ڪرڻ لاء تيار آهيو؟ هن جو ڪهڙو سلوڪ آهي؟ هن مسئلي کي حل ڪرڻ جو سڀ کان عام طريقو صحت جي چڪاس کي لاڳو ڪرڻ آهي (صحت جي چڪاس). Kubernetes جا ٻه قسم آهن: زندگي ۽ تياري جي جاچ.

حياتياتي تحقيق لاء (زندگي جي چڪاس) ايپليڪيشن کي هڪ HTTP آخر پوائنٽ هجڻ گهرجي جيڪو "200 ٺيڪ" جواب ڏئي ٿو جيڪڏهن اهو فنڪشنل آهي ۽ ان جي بنيادي انحصار مطمئن آهي. تياري جي جاچ لاءِ (خدمت جي تياري جي چڪاس) ايپليڪيشن کي هڪ ٻيو HTTP آخر پوائنٽ هجڻ گهرجي جيڪو "200 OK" جواب ڏئي ٿو جيڪڏهن ايپليڪيشن صحتمند حالت ۾ آهي، شروعاتي مرحلن کي مڪمل ڪيو ويو آهي ۽ ڪنهن به صحيح درخواست جي نتيجي ۾ غلطي نه ٿيندي. Kubernetes صرف ٽريفڪ کي ڪنٽينر ڏانهن رستو ڏيندو جيڪڏهن ايپليڪيشن انهن چيڪن جي مطابق تيار آهي. ٻن آخري پوائنٽن کي ملائي سگهجي ٿو جيڪڏهن زندهه ۽ تيارگي جي رياستن جي وچ ۾ ڪوبه فرق نه آهي.

توھان ھن بابت وڌيڪ پڙھي سگھوٿا لاڳاپيل مضمون ۾ سنديپ دنيش کان، گوگل کان ڊولپر ايڊووڪيٽ: “ڪبرنيٽس بهترين طريقا: صحت جي چڪاس کي ترتيب ڏيڻ جي تياري ۽ جاندار جاچ سان».

7. پنھنجي تصوير جو نسخو احتياط سان چونڊيو

اڪثر سرڪاري ۽ خانگي تصويرون استعمال ڪن ٿيون ٽيگنگ سسٽم سان ملندڙ جلندڙ هڪ ۾ بيان ڪيل ڪنٽينرز جي تعمير لاءِ بهترين طريقا. جيڪڏهن تصوير هڪ سسٽم جي ويجهو استعمال ڪري ٿي معنوي نسخو، اهو ضروري آهي ته اڪائونٽ ۾ ٽيگنگ جي خاصيتن کي. مثال طور، ٽيگ latest تصوير کان تصوير تائين بار بار منتقل ٿي سگھي ٿو - ان تي ڀروسو نه ٿو ڪري سگھجي جيڪڏھن توھان کي ضرورت آھي اڳڪٿي لائق ۽ ورجائيبل تعمير ۽ تنصيب.

توهان ٽيگ استعمال ڪري سگهو ٿا X.Y.Z (اهي لڳ ڀڳ هميشه تبديل ٿيل نه آهن)، پر هن صورت ۾، سڀني پيچ ۽ تازه ڪاري جي تصوير کي ٽريڪ رکو. جيڪڏھن تصوير جيڪا توھان استعمال ڪري رھيا آھيو ھڪڙو ٽيگ آھي X.Y, هي هڪ سٺو اختيار آهي سون جي معني لاء. ان کي چونڊڻ سان، توهان خودڪار طريقي سان پيچ وصول ڪندا آهيو ۽ ساڳئي وقت ايپليڪيشن جي مستحڪم ورزن تي ڀروسو ڪندا آهيو.

پي ايس مترجم کان

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

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

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