جيڪڏهن توهان اڪثر ماڻهن وانگر آهيو، توهان شايد وسيلا استعمال ڪري رهيا آهيو جيڪي توهان جي ڪلستر کان ٻاهر هلندا آهن. شايد توهان ٽيڪسٽ پيغام موڪلڻ لاءِ Taleo API استعمال ڪريو ٿا، يا Google Cloud Vision API استعمال ڪندي تصويرن جو تجزيو ڪريو ٿا.
جيڪڏهن توهان پنهنجي سڀني ماحولن ۾ ساڳيو سرور-سائڊ درخواست جي آخري پوائنٽ استعمال ڪريو ٿا ۽ توهان جي سرورز کي Kubernetes ڏانهن منتقل ڪرڻ جو ارادو نه ڪيو آهي، ته پوءِ توهان جي ڪوڊ ۾ صحيح خدمت جي آخري پوائنٽ حاصل ڪرڻ بلڪل ٺيڪ آهي. بهرحال، واقعن جي ترقي لاء ٻيا ڪيترائي منظرنامي آهن. هن Kubernetes جي بهترين عملن جي سيريز ۾، توهان سکندا سين ته ڪبرنيٽس جي ٺاهيل ميڪانيزم کي ڪيئن استعمال ڪجي ته جيئن ڪلستر جي اندر ۽ ٻاهر ٻنهي خدمتن کي دريافت ڪيو وڃي.
هڪ عام خارجي خدمت جو هڪ مثال هڪ ڊيٽابيس آهي جيڪو ڪبرنيٽس ڪلستر کان ٻاهر هلندو آهي. گوگل ڪلائوڊ ڊيٽا اسٽور يا گوگل ڪلائوڊ اسپنر وانگر ڪلائوڊ ڊيٽابيس جي برعڪس، جيڪي سڀني رسائي لاءِ هڪ واحد آخري پوائنٽ استعمال ڪندا آهن، اڪثر ڊيٽابيس ۾ مختلف حالتن لاءِ الڳ پوائنٽون هونديون آهن.
روايتي ڊيٽابيس استعمال ڪرڻ لاءِ بهترين طريقا جهڙوڪ MySQL ۽ MongoDB عام طور تي اهو مطلب آهي ته توهان مختلف ماحولن لاءِ مختلف حصن سان ڳنڍيو. توهان وٽ پيداوار جي ڊيٽا لاءِ هڪ وڏي مشين ۽ ٽيسٽ ماحول لاءِ هڪ ننڍي مشين ٿي سگهي ٿي. انهن مان هر هڪ کي پنهنجي IP پتي يا ڊومين جو نالو هوندو، پر توهان شايد توهان جو ڪوڊ تبديل ڪرڻ نه چاهيندا جڏهن هڪ ماحول کان ٻئي ڏانهن منتقل ڪيو وڃي. تنهن ڪري انهن ايڊريس کي سخت ڪوڊ ڪرڻ جي بدران، توهان استعمال ڪري سگهو ٿا Kubernetes جي بلٽ ان DNS-based ٻاهرين سروس دريافت کي ساڳيءَ طرح مقامي Kubernetes سروسز.
اچو ته چئو ته توهان Google Compute Engine تي MongoDB ڊيٽابيس هلائي رهيا آهيو. توھان ھن ھائبرڊ دنيا ۾ پھنس ويندا جيستائين توھان ان کي ڪلستر ڏانھن منتقل ڪرڻ جو انتظام نه ڪندا.
خوش قسمت، توهان جامد ڪبرنيٽس خدمتون استعمال ڪري سگهو ٿا توهان جي زندگي کي ٿورو آسان بڻائڻ لاء. هن مثال ۾، مون گوگل ڪلائوڊ لانچر استعمال ڪندي مونگو ڊي بي سرور ٺاهيو. جيئن ته اهو ساڳيو نيٽ ورڪ (يا Kubernetes ڪلستر VPC) تي ٺاهيو ويو آهي، اهو هڪ اعلي ڪارڪردگي اندروني IP پتي استعمال ڪندي رسائي آهي.
هي Google Cloud تي ڊفالٽ سيٽنگ آهي، تنهنڪري توهان کي ڪجهه به ترتيب ڏيڻ جي ضرورت ناهي. هاڻي ته توهان وٽ هڪ IP پتو آهي، پهريون قدم هڪ خدمت ٺاهڻ آهي. توھان محسوس ڪري سگھو ٿا ته ھن خدمت لاءِ ڪو به پوڊ چونڊيندڙ نه آھن. اهو آهي، اسان هڪ خدمت ٺاهي آهي جيڪا خبر ناهي ته ٽرئفڪ کي ڪٿي موڪلڻ لاء. اهو توهان کي دستي طور تي هڪ آخري پوائنٽ اعتراض ٺاهڻ جي اجازت ڏيندو جيڪا هن خدمت مان ٽرئفڪ حاصل ڪندي.
هيٺ ڏنل ڪوڊ جو مثال ڏيکاري ٿو ته آخر پوائنٽس ڊيٽابيس لاءِ IP پتي جو تعين ڪن ٿا ساڳيو منگو نالو استعمال ڪندي خدمت جي طور تي.
Kubernetes سڀ IP پتي استعمال ڪندا آخري پوائنٽون ڳولڻ لاءِ ڄڻ ته اھي باقاعده Kubernetes پوڊس آھن، تنھنڪري ھاڻي توھان ڊيٽابيس تائين رسائي ڪري سگھوٿا ھڪڙي سادي ڪنيڪشن اسٽرنگ سان مٿي ڏنل نالي سان mongodb://mongo. توهان جي ڪوڊ ۾ IP پتي کي استعمال ڪرڻ جي ڪا ضرورت ناهي.
جيڪڏهن مستقبل ۾ IP پتي تبديل ٿي وڃن ٿا، توهان آساني سان پنهنجي آخري پوائنٽ کي نئين IP پتي سان تازه ڪاري ڪري سگهو ٿا ۽ توهان جي ايپليڪيشنن کي ڪنهن به اضافي طريقي سان تبديل ڪرڻ جي ضرورت نه هوندي.
جيڪڏھن توھان استعمال ڪري رھيا آھيو ڊيٽابيس ميزباني ڪيل ھڪڙي ٽئين پارٽي جي ميزبان تي، اھو امڪان آھي ته ھوسٽ جي مالڪن توھان کي مهيا ڪيو آھي ھڪڙي يونيفارم ريسورس شناخت ڪندڙ URI سان ڳنڍڻ لاءِ. تنهن ڪري جيڪڏهن توهان کي هڪ IP پتو ڏنو ويو آهي، توهان صرف پوئين طريقو استعمال ڪري سگهو ٿا. هي مثال ڏيکاري ٿو ته مون وٽ ٻه MongoDB ڊيٽابيس هڪ mLab ميزبان تي ميزباني ڪيل آهن.
ھڪڙو آھي ڊولپمينٽ ڊيٽابيس ۽ ٻيو آھي پيداوار ڊيٽابيس. انهن ڊيٽابيس لاءِ ڪنيڪشن جون تارون هن طرح نظر اچن ٿيون - mLab توهان کي هڪ متحرڪ URI ۽ هڪ متحرڪ پورٽ فراهم ڪري ٿي. جئين توهان ڏسي سگهو ٿا، اهي مختلف آهن.
هن کي ختم ڪرڻ لاءِ، اچو ته ڪبرنيٽس استعمال ڪريون ۽ ڊولپر ڊيٽابيس سان ڳنڍيون. توهان هڪ خارجي Kubernetes سروس جو نالو ٺاهي سگهو ٿا، جيڪو توهان کي هڪ جامد خدمت فراهم ڪندو جيڪا ٽريفڪ کي خارجي خدمت ڏانهن اڳتي وڌائيندو.
هي خدمت سادي CNAME فارورڊنگ کي انجام ڏيندي ڪرنل سطح تي گھٽ ۾ گھٽ ڪارڪردگي جي اثر سان. انهي جي مهرباني توهان هڪ آسان ڪنيڪشن اسٽرنگ استعمال ڪري سگهو ٿا.
پر ڇاڪاڻ ته خارجي نالو CNAME فارورڊنگ استعمال ڪري ٿو، اهو پورٽ فارورڊنگ انجام نٿو ڏئي سگهي. تنهن ڪري، هي حل صرف جامد بندرگاهن لاء لاڳو ٿئي ٿو ۽ متحرڪ بندرگاهن سان استعمال نٿو ڪري سگهجي. پر mLab مفت ٽائر صارف کي ڊفالٽ طور هڪ متحرڪ پورٽ نمبر ڏئي ٿو ۽ توهان ان کي تبديل نٿا ڪري سگهو. ان جو مطلب اهو آهي ته توهان کي ضرورت آهي مختلف ڪنيڪشن ڪمانڊ لائينون dev ۽ prod لاءِ. خراب شيء اها آهي ته اهو توهان کي پورٽ نمبر هارڊ ڪوڊ ڪرڻ جي ضرورت پوندي. پوء توهان ڪم ڪرڻ لاء پورٽ فارورڊنگ ڪيئن حاصل ڪندا آهيو؟
پهريون قدم يو آر آئي کان IP پتو حاصل ڪرڻ آهي. جيڪڏهن توهان هلائيندا آهيو nslookup، ميزبان نالو، يا URI کي پنگ، توهان حاصل ڪري سگهو ٿا ڊيٽابيس جو IP پتو. جيڪڏهن خدمت توهان ڏانهن ڪيترن ئي IP پتي واپس آڻيندي، پوء اهي سڀئي پتا اعتراض جي آخري پوائنٽ تي استعمال ڪري سگھجن ٿيون.
ذهن ۾ رکڻ لاء هڪ شيء اها آهي ته IP URIs بغير نوٽيس تبديل ڪري سگھن ٿا، انهن کي پروڊ ۾ استعمال ڪرڻ لاء ڪافي خطرناڪ بڻائي ٿو. هن IP پتي کي استعمال ڪندي، توهان بندرگاهه جي وضاحت ڪرڻ کان سواءِ ريموٽ ڊيٽابيس سان ڳنڍي سگهو ٿا. اهڙيء طرح، Kubernetes سروس پورٽ فارورڊنگ کي مڪمل طور تي شفاف طور تي انجام ڏئي ٿو.
نقشي سازي، يا خارجي وسيلن کي اندروني وسيلن جي نقشي سازي، توهان کي مستقبل ۾ ڪلستر جي اندر اهي خدمتون استعمال ڪرڻ جي لچڪ ڏئي ٿي جڏهن ته ريفڪٽرنگ جي ڪوششن کي گھٽ ڪندي. اهو پڻ آسان بڻائي ٿو منظم ڪرڻ ۽ بصيرت مهيا ڪرڻ لاءِ ته ڪهڙيون ٻاهرين خدمتون توهان جي ڪمپني استعمال ڪري ٿي.
تمام جلد جاري ڪيو ويندو ...
ڪجھ اشتهار 🙂
اسان سان گڏ رهڻ لاء توهان جي مهرباني. ڇا توهان اسان جا مضمون پسند ڪندا آهيو؟ وڌيڪ دلچسپ مواد ڏسڻ چاهيو ٿا؟ آرڊر ڏيڻ يا دوستن کي سفارش ڪندي اسان جي مدد ڪريو،
ڊيل R730xd 2x سستا Equinix Tier IV ڊيٽا سينٽر ۾ Amsterdam ۾؟ صرف هتي
جو ذريعو: www.habr.com