ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

هيلو، منهنجو نالو دمتري Krasnov آهي. پنجن سالن کان وڌيڪ عرصي کان آئون ڪبرنيٽس ڪلسٽرز جو انتظام ڪري رهيو آهيان ۽ پيچيده مائڪرو سروس آرڪيٽيڪچر ٺاهي رهيو آهيان. هن سال جي شروعات ۾، اسان ڪنٽينرم جي بنياد تي Kubernetes ڪلستر جي انتظام لاءِ هڪ سروس شروع ڪئي. هن موقعي کي کڻڻ، مان توهان کي ٻڌايان ٿو ته ڪبرنيٽس ڇا آهي ۽ ڪيئن هڪ وينڊر سان انضمام کليل ذريعو کان مختلف آهي.

شروع ڪرڻ سان، ڇا آهي ڪوبنيٿس. هي هڪ وڏي تعداد ۾ ميزبانن تي ڪنٽينرز جي انتظام لاءِ هڪ نظام آهي. يوناني کان، رستي جي ذريعي، اهو ترجمو ڪيو ويو آهي "پائلٽ" يا "هيلمسمين." اصل ۾ گوگل پاران تيار ڪيل ۽ پوءِ Cloud Native Computing Foundation کي ٽيڪنالاجي تعاون جي طور تي عطيو ڪيو ويو، هڪ بين الاقوامي غير منافع بخش تنظيم جيڪا دنيا جي معروف ڊولپرز، آخري صارفين ۽ ڪنٽينر ٽيڪنالاجي فراهم ڪندڙن کي گڏ ڪري ٿي.

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

ڪنٽينرز جي وڏي تعداد کي منظم ڪريو

هاڻي اچو ته سمجهون ته اهي ڪهڙي قسم جا ڪنٽينر آهن. هي هڪ ايپليڪيشن آهي جنهن جي پوري ماحول سان - خاص طور تي لائبريريون جن تي پروگرام منحصر آهي. هي سڀ آرڪائيوز ۾ پيڪيج ٿيل آهي ۽ هڪ تصوير جي صورت ۾ پيش ڪيو ويو آهي جيڪو هلائي سگهجي ٿو بغير آپريٽنگ سسٽم، آزمائشي ۽ وڌيڪ. پر اتي ھڪڙو مسئلو آھي - وڏي تعداد ۾ ھوسٽن تي ڪنٽينرز جو انتظام تمام ڏکيو آھي. اهو ئي سبب آهي ته ڪبرنيٽس ٺاهي وئي.

هڪ ڪنٽينر تصوير هڪ ايپليڪيشن ۽ ان جي انحصار جي نمائندگي ڪري ٿي. ايپليڪيشن، ان جي انحصار، ۽ او ايس فائيل سسٽم تصوير جي مختلف حصن ۾ واقع آهن، جنهن کي پرت سڏيو ويندو آهي. پرت مختلف ڪنٽينرز لاء ٻيهر استعمال ڪري سگھجن ٿيون. مثال طور، ھڪڙي ڪمپني ۾ سڀ ايپليڪيشنون استعمال ڪري سگھن ٿيون Ubuntu بنيادي پرت. جڏهن ڪنٽينرز کي هلائڻ، ميزبان تي هڪ واحد بنيادي پرت جي ڪيترن ئي نقلن کي ذخيرو ڪرڻ جي ڪا ضرورت ناهي. هي توهان کي تصوير اسٽوريج ۽ ترسيل کي بهتر ڪرڻ جي اجازت ڏئي ٿو.

جڏهن اسان هڪ ايپليڪيشن کي ڪنٽينر مان هلائڻ چاهيون ٿا، ضروري تہه هڪ ٻئي تي ٺهيل آهن ۽ هڪ اوورلي فائل سسٽم ٺاهي وئي آهي. هڪ رڪارڊنگ پرت مٿي تي رکيل آهي، جيڪو هٽايو ويندو آهي جڏهن ڪنٽينر روڪي ٿو. اهو يقيني بڻائي ٿو ته جڏهن ڪنٽينر هلندو آهي، ايپليڪيشن کي هميشه ساڳيو ماحول هوندو، جيڪو تبديل نٿو ڪري سگهجي. هي مختلف ميزبان او ايسز تي ماحول جي ٻيهر پيداوار جي ضمانت ڏئي ٿو. ڇا اهو Ubuntu يا CentOS آهي، ماحول هميشه ساڳيو هوندو. ان کان علاوه، ڪنٽينر کي ميزبان کان الڳ ڪيو ويو آهي ميڪانيزم استعمال ڪندي لينڪس ڪنييل ۾ ٺهيل. ڪنٽينر ۾ ايپليڪيشنون فائلون، ميزبان جي عمل ۽ پاڙيسري ڪنٽينرز کي نه ڏسندا آهن. ميزبان OS کان ايپليڪيشنن جي هي اڪيلائي سيڪيورٽي جي اضافي پرت مهيا ڪري ٿي.

ھوسٽ تي ڪنٽينرز کي منظم ڪرڻ لاءِ ڪيترائي اوزار موجود آھن. انهن مان سڀ کان وڌيڪ مشهور آهي Docker. اهو توهان کي ڪنٽينرز جي مڪمل زندگي چڪر مهيا ڪرڻ جي اجازت ڏئي ٿو. بهرحال، اهو صرف هڪ ميزبان تي ڪم ڪري ٿو. جيڪڏهن توهان کي ڪيترن ئي ميزبانن ۾ ڪنٽينرز کي منظم ڪرڻ جي ضرورت آهي، ڊڪر انجنيئرن لاء زندگي دوزخ بڻائي سگهي ٿو. اهو ئي سبب آهي ته ڪبرنيٽس ٺاهي وئي.

Kubernetes جو مطالبو خاص طور تي ڪيترن ئي ميزبانن تي ڪنٽينرز جي گروپن کي منظم ڪرڻ جي صلاحيت جي ڪري آهي جيئن ڪنهن قسم جي واحد اداري. سسٽم جي مقبوليت DevOps يا ڊولپمينٽ آپريشنز ٺاهڻ جو موقعو فراهم ڪري ٿي، جنهن ۾ ڪبرنيٽس استعمال ڪيو ويندو آهي هن ئي DevOps جي عملن کي هلائڻ لاءِ.

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

شڪل 1. ڪبرنيٽس ڪيئن ڪم ڪري ٿو ان جي اسڪيميٽڪ نمائندگي

مڪمل خودڪار

DevOps بنيادي طور تي ترقي جي عمل جي خودڪار آهي. عام طور تي ڳالهائڻ، ڊولپرز ڪوڊ لکندا آهن جيڪي مخزن تي اپ لوڊ ڪيا ويا آهن. پوءِ ھي ڪوڊ پاڻمرادو گڏ ڪري سگھجي ٿو فوري طور تي ھڪڙي ڪنٽينر ۾ سڀني لائبريرين سان، آزمائشي ۽ "رول آئوٽ" ايندڙ اسٽيج تائين - اسٽيجنگ، ۽ پوءِ فوري طور تي پيداوار ڏانھن.

گڏو گڏ ڪبرنيٽس سان گڏ، DevOps توهان کي هن عمل کي خودڪار ڪرڻ جي اجازت ڏئي ٿو ته جيئن اهو ٿئي ٿو عملي طور تي ڊولپرز جي پاڻ ۾ شموليت سان. انهي جي ڪري، تعمير تمام تيز آهي، ڇاڪاڻ ته ڊولپر کي پنهنجي ڪمپيوٽر تي اهو ڪرڻ جي ضرورت ناهي - هو صرف ڪوڊ جو هڪ ٽڪرو لکي ٿو، ڪوڊ کي مخزن ڏانهن ڌڪيندو آهي، جنهن کان پوء پائپ لائن شروع ڪئي وئي آهي، جنهن ۾ عمل شامل ٿي سگهي ٿو. تعمير، جاچ، ۽ رولنگ جي. ۽ اهو هر ڪم سان ٿئي ٿو، تنهنڪري جاچ مسلسل ٿئي ٿي.

ساڳئي وقت، هڪ ڪنٽينر استعمال ڪندي توهان کي پڪ ڪرڻ جي اجازت ڏئي ٿي ته هن پروگرام جو سڄو ماحول پيداوار ۾ بلڪل صحيح طور تي جاري ڪيو ويندو جنهن ۾ اهو آزمائيو ويو آهي. اهو آهي، اتي ڪو مسئلو نه ٿيندو جيئن ته "ڪجهه نسخو ٽيسٽ ۾ هئا، ٻيا پيداوار ۾، پر جڏهن اسان انهن کي نصب ڪيو، سڀ ڪجهه گر ٿي ويو." ۽ اڄ کان وٺي اسان وٽ مائيڪرو سروس آرڪيٽيڪچر ڏانهن رجحان آهي، جڏهن هڪ وڏي ايپليڪيشن جي بدران سوين ننڍڙا آهن، انهن کي دستي طور تي منظم ڪرڻ لاءِ، ملازمن جي هڪ وڏي اسٽاف جي ضرورت پوندي. ان ڪري اسان ڪبرنيٽس استعمال ڪندا آهيون.

نفعو ، فائدو ، فائدو


جيڪڏهن اسان هڪ پليٽ فارم جي طور تي Kubernetes جي فائدن جي باري ۾ ڳالهايون ٿا، ته پوء ان کي هڪ microservice فن تعمير کي منظم ڪرڻ جي نقطي نظر کان اهم فائدا آهن.

  • ڪيترن ئي نقلن کي منظم ڪرڻ. سڀ کان اهم شيء ڪيترن ئي ميزبانن ۾ ڪنٽينرز کي منظم ڪرڻ آهي. وڌيڪ اهم طور تي، هڪ واحد اداري جي حيثيت ۾ ڪنٽينرز ۾ گهڻن ايپليڪيشن ريپليڪس کي منظم ڪريو. هن جي مهرباني، انجنيئرن کي هر فرد جي ڪنٽينر بابت پريشان ٿيڻ جي ضرورت ناهي. جيڪڏهن ڪنٽينر مان هڪ حادثو ٿئي ٿو، ڪبرنيٽس هن کي ڏسندا ۽ ان کي ٻيهر شروع ڪندا.
  • ڪلستر نيٽ ورڪ. ڪبرنيٽس وٽ پڻ ھڪڙو نام نہاد ڪلستر نيٽورڪ آھي جنھن جي پنھنجي ايڊريس اسپيس سان. انهي جي مهرباني، هر پوڊ جو پنهنجو پتو آهي. ھڪڙو ذيلي پوڊ ھڪڙي ڪلستر جي گھٽ ۾ گھٽ ساختماني يونٽ جي طور تي سمجھيو ويندو آھي جنھن ۾ ڪنٽينر سڌو سنئون شروع ڪيا ويندا آھن. اضافي طور تي، ڪبرنيٽس وٽ ڪارڪردگي آهي جيڪا هڪ لوڊ بيلنس ۽ سروس دريافت کي گڏ ڪري ٿي. هي توهان کي دستي IP پتي جي انتظام کان نجات حاصل ڪرڻ جي اجازت ڏئي ٿو ۽ هن ڪم کي Kubernetes ڏانهن نمائندو ڪري ٿو. ۽ خودڪار صحت جي چڪاس مسئلن کي ڳولڻ ۾ مدد ڪندي ۽ ٽرئفڪ کي ڪم ڪندڙ پوڊ ڏانهن ريڊائريڪٽ ڪندي.
  • ترتيب ڏيڻ جو انتظام. جڏهن ايپليڪيشنن جي وڏي تعداد کي منظم ڪندي، ايپليڪيشن جي ترتيب کي منظم ڪرڻ ڏکيو ٿي ويندو آهي. ھن مقصد لاءِ، ڪبرنيٽس وٽ خاص ConfigMap وسيلا آھن. اهي توهان کي اجازت ڏين ٿا مرڪزي طور تي ترتيبن کي ذخيرو ڪرڻ ۽ انهن کي بي نقاب ڪرڻ جي پوڊ تي جڏهن ايپليڪيشنون هلائي رهيا آهن. هي ميکانيزم اسان کي اجازت ڏئي ٿو ته گهٽ ۾ گهٽ ڏهن يا سئو ايپليڪيشن ريپليڪس ۾ ترتيب جي استحڪام جي ضمانت.
  • مسلسل حجم. ڪنٽينر موروثي طور تي ناقابل تبديلي هوندا آهن ۽ جڏهن ڪنٽينر کي روڪيو ويندو آهي، فائل سسٽم ڏانهن لکيل سڀ ڊيٽا تباهه ٿي ويندا. پر ڪجھ ايپليڪيشنون ڊيٽا سڌو سنئون ڊسڪ تي محفوظ ڪن ٿيون. هن مسئلي کي حل ڪرڻ لاء، ڪبرنيٽس وٽ ڊسڪ اسٽوريج مئنيجمينٽ ڪارڪردگي آهي - مسلسل حجم. هي ميکانيزم ڊيٽا لاءِ خارجي اسٽوريج استعمال ڪري ٿو ۽ مسلسل اسٽوريج، بلاڪ يا فائل، ڪنٽينرز ۾ منتقل ڪري سگهي ٿو. اهو حل توهان کي اجازت ڏئي ٿو ته ڊيٽا کي الڳ الڳ ڪارڪنن کان، جيڪو انهن کي بچائيندو آهي جيڪڏهن اهي ساڳيا مزدور ڀڄي ويندا آهن.
  • لوڊ بيلنسر. جيتوڻيڪ ڪبرنيٽس ۾ اسان تجريدي ادارن کي منظم ڪندا آهيون جهڙوڪ ڊيپلائيمينٽ، اسٽيٽفول سيٽ، وغيره، آخرڪار ڪنٽينرز باقاعده ورچوئل مشينن يا هارڊويئر سرورز تي هلندا آهن. اهي مڪمل نه آهن ۽ ڪنهن به وقت گر ٿي سگهن ٿا. ڪبرنيٽس هن کي ڏسندا ۽ اندروني ٽرئفڪ کي ٻين نقلن ڏانهن منتقل ڪندا. پر ٻاهران ايندڙ ٽرئفڪ سان ڇا ڪجي؟ جيڪڏهن توهان صرف هڪ ڪارڪنن ڏانهن ٽرئفڪ کي سڌو رستو ڏيکاريندي، جيڪڏهن اهو حادثو ٿئي ٿو، خدمت دستياب ٿي ويندي. هن مسئلي کي حل ڪرڻ لاء، ڪبرنيٽس جون خدمتون آهن لوڊ بيلنسر. اهي ٺهيل آهن خودڪار طور تي ڪلستر ۾ سڀني ڪارڪنن لاء هڪ خارجي بادل بيلنسر ترتيب ڏيڻ لاء. هي خارجي بيلنس ڪارڪنن کي ٻاهرين ٽرئفڪ کي سڌو رستو ڏيکاريندو آهي ۽ انهن جي حيثيت جي نگراني ڪندو آهي. جيڪڏهن هڪ يا وڌيڪ ڪارڪن موجود نه هوندا، ٽرئفڪ کي ٻين ڏانهن منتقل ڪيو ويندو. هي توهان کي اجازت ڏئي ٿو ته ڪبرنيٽس استعمال ڪندي انتهائي دستياب خدمتون ٺاهي.

ڪبرنيٽس بهترين ڪم ڪري ٿو جڏهن مائڪرو سروس آرڪيٽيڪچر هلائي رهيا آهن. اهو ممڪن آهي ته سسٽم کي ڪلاسيڪل فن تعمير ۾ لاڳو ڪرڻ، پر اهو بي معني آهي. جيڪڏهن هڪ ايپليڪيشن ڪيترن ئي نقلن تي نه هلي سگهي، ته پوءِ ان سان ڪهڙو فرق پوندو - ڪبرنيٽس ۾ يا نه؟

اوپن سورس Kubernetes


اوپن سورس ڪبرنيٽس هڪ وڏي شيءِ آهي: مون ان کي انسٽال ڪيو ۽ اهو ڪم ڪري ٿو. توهان ان کي پنهنجي هارڊويئر سرورز تي، پنهنجي انفراسٽرڪچر تي، ماسٽرس ۽ ورڪرز انسٽال ڪري سگهو ٿا جن تي سڀئي ايپليڪيشنون هلنديون. ۽ سڀ کان اهم، هي سڀ مفت آهي. تنهن هوندي به، اتي nuances آهن.

  • سڀ کان پهريان منتظمين ۽ انجنيئرن جي علم ۽ تجربي جو مطالبو آهي، جيڪي هن سڀني کي ترتيب ۽ سپورٽ ڪندا. جيئن ته ڪلسٽر کي ڪلسٽر ۾ عمل جي مڪمل آزادي ملي ٿي، ان ڪري هو پاڻ ڪلستر جي ڪارڪردگيءَ جو ذميوار آهي. ۽ هتي هر شي کي ٽوڙڻ بلڪل آسان آهي.
  • ٻيو انضمام جي کوٽ آهي. جيڪڏهن توهان ڪنهن مشهور ورچوئلائيزيشن پليٽ فارم جي بغير Kubernetes هلائيندا آهيو، توهان کي پروگرام جا سڀ فائدا حاصل نه ٿيندا. جيئن ته مسلسل حجم ۽ لوڊ بيلنس سروسز استعمال ڪندي.

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

شڪل 2. k8s آرڪيٽيڪچر

وينڊر کان ڪبرنيٽس


بادل فراهم ڪندڙ سان انضمام ٻن اختيارن کي مهيا ڪري ٿو:

  • پهرين، هڪ شخص صرف "ڪلسٽر ٺاهيو" بٽڻ تي ڪلڪ ڪري سگهي ٿو ۽ هڪ ڪلستر اڳ ۾ ئي ترتيب ڏنل ۽ استعمال لاء تيار آهي.
  • ٻيو، وينڊر پاڻ ڪلستر کي انسٽال ڪري ٿو ۽ ڪلائوڊ سان انضمام قائم ڪري ٿو.

هتي ڪيئن ٿئي ٿو. انجنيئر جيڪو ڪلستر شروع ڪري ٿو اهو بيان ڪري ٿو ته هن کي ڪيترا ڪارڪنن جي ضرورت آهي ۽ ڪهڙي پيٽرولن سان (مثال طور، 5 مزدور، هر هڪ 10 سي پي يو، 16 GB ريم ۽، چئو، 100 GB ڊسڪ). جنهن کان پوءِ اهو اڳي ئي ٺهيل ڪلستر تائين رسائي حاصل ڪري ٿو. انهي حالت ۾، مزدورن تي جن تي لوڊ شروع ڪيو ويو آهي مڪمل طور تي ڪلائنٽ ڏانهن منتقل ڪيو ويو آهي، پر سڄو انتظام جهاز وينڊر جي ذميواري هيٺ رهي ٿو (جيڪڏهن خدمت منظم سروس ماڊل جي مطابق مهيا ڪئي وئي آهي).

تنهن هوندي به، هن منصوبي ان جي drawbacks ڪئي. انهي حقيقت جي ڪري ته انتظامي جهاز وينڊر سان رهي ٿو، وينڊر ڪلائنٽ تائين مڪمل رسائي نٿو ڏئي، ۽ اهو ڪبرنيٽس سان ڪم ڪرڻ ۾ لچڪ گھٽائي ٿو. ڪڏهن ڪڏهن ائين ٿئي ٿو ته هڪ گراهڪ Kubernetes ۾ ڪجهه مخصوص ڪارڪردگي شامل ڪرڻ چاهي ٿو، مثال طور، LDAP ذريعي تصديق، پر انتظامي جهاز جي ترتيب هن جي اجازت نه ڏئي ٿي.

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

شڪل 3. ڪلائوڊ فراهم ڪندڙ کان ڪبرنيٽس ڪلستر جو مثال

ڇا چونڊيو: کليل ذريعو يا وينڊر


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

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

ڪبرنيٽس: اوپن سورس بمقابله وينڊر-مخصوص

خير، نفعو پڌرو آهي، نقصان پڻ معلوم ٿئي ٿو. ھڪڙي شيء مسلسل آھي: ڪبرنيٽس ڪيترن ئي ڪنٽينرز جي انتظام کي خودڪار ڪندي ڪيترن ئي مسئلن کي حل ڪري ٿو. ۽ جنهن کي چونڊيو، اوپن سورس يا وينڊر - هرڪو پنهنجو فيصلو ڪري ٿو.

مضمون دمتري ڪراسنوف پاران تيار ڪيو ويو، #CloudMTS فراهم ڪندڙ جي ڪنٽينرم سروس جي معروف معمار

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

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