Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

Kubernetes بهترين طريقا. ننڍو ڪنٽينر ٺاهڻ

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

اچو ته ڏسون ته نالا اسپيس ڪبرنيٽس وسيلن کي منظم ڪرڻ آسان بڻائي ٿو. پوء هڪ namespace ڇا آهي؟ Namespace توهان جي Kubernetes ڪلستر جي اندر هڪ مجازي ڪلستر جي طور تي سمجهي سگهجي ٿو. توهان هڪ واحد ڪبرنيٽس ڪلستر جي اندر هڪ ٻئي کان ڌار ڌار ڪيترن ئي نالا اسپيس ڪري سگهو ٿا. اهي واقعي توهان جي ۽ توهان جي ٽيمن جي تنظيم، سيڪيورٽي، ۽ سسٽم جي ڪارڪردگي سان مدد ڪري سگهن ٿيون.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

اڪثر ڪبرنيٽس جي تقسيم تي، ڪلستر دٻي مان نڪرندو آهي نالي جي جاءِ سان جنهن کي "ڊفالٽ" سڏيو ويندو آهي. اصل ۾ ٽي نالا آهن جن کي ڪبرنيٽس سان واسطو رکي ٿو: ڊفالٽ، ڪوبي-سسٽم، ۽ ڪبي-پبلڪ. في الحال، ڪبي-عوامي اڪثر استعمال نه ڪيو ويو آهي.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

kube namespace کي اڪيلو ڇڏڻ هڪ سٺو خيال آهي، خاص طور تي هڪ منظم سسٽم تي جهڙوڪ گوگل ڪبرنيٽس انجڻ. اهو استعمال ڪري ٿو "ڊفالٽ" نالي جي جڳھ جي طور تي جتي توهان جون خدمتون ۽ ايپليڪيشنون ٺهيل آهن. ان جي باري ۾ بلڪل ڪجھ خاص ناهي، سواء ان جي ته ڪبرنيٽس ان کي استعمال ڪرڻ لاء دٻي مان ٻاهر ترتيب ڏني وئي آهي، ۽ توهان ان کي هٽائي نٿا سگهو. اهو شروع ڪرڻ ۽ گهٽ ڪارڪردگي واري نظام لاءِ وڏو آهي، پر مان سفارش نه ڪندس ته ڊفالٽ نالي جي جاءِ استعمال ڪرڻ جي وڏي پروڊ سسٽم تي. پوئين صورت ۾، هڪ ڊولپمينٽ ٽيم آساني سان ڪنهن ٻئي جي ڪوڊ کي ٻيهر لکي سگهي ٿي ۽ ڪنهن ٻئي ٽيم جي ڪم کي ٽوڙي سگهي ٿي ان کي سمجهڻ کان سواءِ.

ان ڪري، توھان کي گھڻن نالن جي جڳھ ٺاھڻ گھرجي ۽ انھن کي استعمال ڪرڻ گھرجي توھان جي خدمتن کي منظم يونٽن ۾ ورهائڻ لاءِ. ھڪڙي نالي جي جڳھ ھڪڙي حڪم سان ٺاھي سگھجي ٿو. جيڪڏھن توھان چاھيو ٿا ھڪڙي نالي جي جاءِ ٺاھيو ٽيسٽ نالي، پوءِ ڪمانڊ استعمال ڪريو $ kubectl create namespace test يا صرف YAML فائل ٺاھيو ۽ ان کي استعمال ڪريو ڪنھن ٻئي Kubernetes وسيلن وانگر.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

توهان $ kubectl get namespace ڪمانڊ استعمال ڪندي سڀئي نالا اسپيس ڏسي سگهو ٿا.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

هڪ دفعو اهو ٿي چڪو آهي، توهان ڏسندا ٽي ٺاهيل نالا اسپيس ۽ هڪ نئين نالي جي جڳهه جنهن کي "ٽيسٽ" سڏيو ويندو آهي. اچو ته هڪ سادي YAML فائل ڏسو پوڊ ٺاهڻ لاءِ. توهان ڏسندا ته اتي نالو جاء جو ڪو به ذڪر نه آهي.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

جيڪڏهن توهان هن فائل کي هلائڻ لاءِ kubectl استعمال ڪريو ٿا، اهو هن وقت فعال نالي واري جاءِ ۾ mypod ماڊل ٺاهيندو. هي ڊفالٽ نالو اسپيس هوندو جيستائين توهان ان کي تبديل نه ڪندا. هتي 2 طريقا آهن ڪبرنيٽس کي ٻڌائڻ لاءِ ته توهان ڪهڙي نالي واري جاءِ ٺاهڻ چاهيو ٿا جنهن ۾ توهان پنهنجو وسيلو ٺاهڻ چاهيو ٿا. پهريون طريقو اهو آهي ته هڪ وسيلو ٺاهڻ دوران هڪ نالي جي جڳهه پرچم استعمال ڪرڻ.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

ٻيو طريقو YAML اعلان ۾ نالي جي جڳھ کي بيان ڪرڻ آھي.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

جيڪڏھن توھان YAML ۾ ھڪڙي نالي جي جڳھ بيان ڪريو ٿا، وسيلو ھميشه ان نالي جي جڳھ ۾ ٺاھيو ويندو. جيڪڏھن توھان ڪوشش ڪندا ته مختلف نالو اسپيس استعمال ڪرڻ دوران نالو اسپيس جھنڊو استعمال ڪيو، حڪم ناڪام ٿيندو. هاڻي جيڪڏهن توهان پنهنجي پوڊ کي ڳولڻ جي ڪوشش ڪندا، توهان ائين ڪرڻ جي قابل نه هوندا.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

اهو ٿئي ٿو ڇاڪاڻ ته سڀئي حڪم جاري ڪيا ويا آهن في الحال فعال نالي جي جاء کان ٻاهر. پنھنجي پوڊ کي ڳولڻ لاءِ، توھان کي استعمال ڪرڻ جي ضرورت آھي نالي جي جڳھ واري جھنڊو، پر اھو جلدي بورنگ ٿي وڃي ٿو، خاص طور تي جيڪڏھن توھان ھڪڙي ٽيم تي ڊولپر آھيو جيڪو پنھنجي نالي جي جڳھ استعمال ڪري ٿو ۽ اھو پرچم استعمال ڪرڻ نٿو چاھين ھر ھڪڙي حڪم لاءِ. اچو ته ڏسون ته اسان هن کي ڪيئن درست ڪري سگهون ٿا.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

دٻي کان ٻاهر، توهان جي فعال نالي جي جاء کي ڊفالٽ سڏيو ويندو آهي. جيڪڏهن توهان وسيلا YAML ۾ نالي جي جاءِ بيان نه ڪندا آهيو، ته پوءِ سڀ ڪبرنيٽس ڪمانڊ هن فعال ڊفالٽ نالي جي جاءِ استعمال ڪندا. بدقسمتي سان، ڪبيڪٽل استعمال ڪندي فعال نالي جي جڳھ کي منظم ڪرڻ جي ڪوشش ناڪام ٿي سگھي ٿي. بهرحال، ڪوبنز نالي هڪ تمام سٺو اوزار آهي جيڪو هن عمل کي تمام آسان بڻائي ٿو. جڏهن توهان kubens ڪمانڊ کي هلائيندا آهيو، توهان سڀني نالن جي اسپيس کي فعال نالو اسپيس سان نمايان ٿيل ڏسندا آهيو.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

فعال نالي واري جاءِ کي ٽيسٽ جي نالي واري جاءِ تي تبديل ڪرڻ لاءِ، توھان ھلايو $kubens test ڪمانڊ. جيڪڏهن توهان وري هلايو $kubens ڪمانڊ، توهان ڏسندا ته هڪ نئين فعال نالي جي جڳهه مختص ڪئي وئي آهي - ٽيسٽ.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

ان جو مطلب اهو آهي ته توهان کي جانچ جي نالي واري جڳهه ۾ پوڊ ڏسڻ لاءِ نالا اسپيس پرچم جي ضرورت ناهي.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

اهڙيءَ طرح نالا جڳهيون هڪ ٻئي کان لڪيل آهن، پر هڪ ٻئي کان الڳ نه آهن. ھڪڙي نالي جي جڳھ ۾ ھڪڙي خدمت بلڪل آساني سان ڳالھ ٻولھ ڪري سگھي ٿي ٻي نالي جي جڳھ ۾ ھڪڙي خدمت سان، جيڪو اڪثر ڪري مفيد آھي. مختلف نالن جي اسپيس ۾ ڳالھ ٻولھ ڪرڻ جي صلاحيت جو مطلب آھي توھان جي ڊولپرز جي خدمت ھڪ ٻئي ديو ٽيم جي سروس سان مختلف نالن جي جڳھ ۾ ڳالھائي سگھي ٿي.

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

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

خوش قسمت، DNS پتي جي وڌايل فارم کي استعمال ڪندي چوڌاري حاصل ڪرڻ آسان آهي. Kubernetes ۾ خدمتون عام DNS ٽيمپليٽ استعمال ڪندي انهن جي آخري پوائنٽ کي ظاهر ڪن ٿيون. اهو ڪجهه هن طرح نظر اچي ٿو:

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

عام طور تي، توهان کي صرف خدمت جي نالي جي ضرورت آهي ۽ DNS خودڪار طريقي سان پورو پتو طئي ڪندو.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

تنهن هوندي، جيڪڏهن توهان کي مختلف نالي جي جڳهه ۾ ڪنهن خدمت تائين رسائي حاصل ڪرڻ جي ضرورت آهي، صرف خدمت جو نالو استعمال ڪريو ۽ نالي جي جڳهه جو نالو:

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

مثال طور، جيڪڏھن توھان چاھيو ٿا ڪنھن سروس ڊيٽابيس سان ڳنڍڻ لاءِ ٽيسٽ جي نالي جي جڳھ ۾، توھان استعمال ڪري سگھوٿا ايڊريس ڊيٽابيس database.test

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

جيڪڏھن توھان چاھيو ٿا سروس ڊيٽابيس سان ڳنڍڻ لاءِ پروڊ نالي جي جڳھ ۾، توھان استعمال ڪريو database.prod.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

جيڪڏھن توھان واقعي کي الڳ ڪرڻ چاھيو ٿا ۽ نالي جي جڳھ کي محدود ڪرڻ چاھيو ٿا، ڪبرنيٽس توھان کي اجازت ڏئي ٿو ڪبرنيٽس نيٽ ورڪ پاليسين کي استعمال ڪندي ائين ڪرڻ جي. مان ان بابت ايندڙ قسط ۾ ڳالهائيندس.

مون کان اڪثر سوال پڇيو ويندو آهي ته مون کي ڪيترا نالا اسپيس ٺاهڻ گهرجن ۽ ڪهڙن مقصدن لاءِ؟ ڊيٽا جو هڪ منظم حصو ڇا آهي؟

جيڪڏھن توھان تمام گھڻا نالا ٺاھيو ٿا، اھي صرف توھان جي رستي ۾ ايندا. جيڪڏهن انهن مان تمام ٿورا آهن، توهان اهڙي حل جي سڀني فائدن کان محروم ٿي ويندا. مان سمجهان ٿو ته چار مکيه مرحلا آهن جيڪي هر ڪمپني ذريعي گذري ٿو جڏهن ان جي تنظيمي جوڙجڪ ٺاهي ٿي. ترقيءَ جي مرحلي تي مدار رکندي توهان جو پروجيڪٽ يا ڪمپني آهي، توهان شايد هڪ مناسب نالي واري حڪمت عملي اختيار ڪرڻ چاهيو ٿا.

تصور ڪريو ته توهان هڪ ننڍڙي ٽيم جو حصو آهيو جيڪا 5-10 مائڪرو سروسز کي ترقي ڪرڻ تي ڪم ڪري رهي آهي ۽ توهان آساني سان سڀني ڊولپرز کي هڪ ڪمري ۾ گڏ ڪري سگهو ٿا. هن صورتحال ۾، اهو سمجھ ۾ اچي ٿو ته سڀني پروڊ سروسز کي ڊفالٽ نالي جي جاء تي هلائڻ لاء. يقينن، وڌيڪ لچڪداريءَ لاءِ، توهان استعمال ڪري سگهو ٿا 2 نالا اسپيس - الڳ الڳ پروڊ ۽ ديوي لاءِ. ۽ گهڻو ڪري، توهان Minikube وانگر ڪجهه استعمال ڪندي پنهنجي مقامي ڪمپيوٽر تي توهان جي ترقي کي جانچيو.

اچو ته چئو شيون تبديل ٿيون ۽ توهان وٽ هاڻي هڪ تيزيءَ سان وڌندڙ ٽيم آهي هڪ وقت ۾ 10 کان وڌيڪ مائڪرو سروسز تي ڪم ڪري رهيو آهي. اتي هڪ وقت اچي ٿو جڏهن اهو ضروري آهي ته ڪيترن ئي ڪلستر يا نالا اسپيس استعمال ڪرڻ لاء، الڳ الڳ پروڊ ۽ ديو لاء. توھان ٽيم کي ڪيترن ئي ذيلي ٽيمن ۾ ٽوڙي سگھو ٿا ته جيئن انھن مان ھر ھڪ وٽ پنھنجون مائيڪرو سروسز آھن ۽ انھن مان ھر ھڪ ٽيم پنھنجي نالي جي جڳھ چونڊي سگھي ٿي ته جيئن سافٽ ويئر ڊولپمينٽ ۽ رليز کي منظم ڪرڻ جي عمل کي آسان بڻائي سگھجي.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

جيئن ته ٽيم جي هر ميمبر کي بصيرت حاصل ٿئي ٿي ته سسٽم مڪمل طور تي ڪيئن ڪم ڪري ٿو، اهو وڌيڪ ۽ وڌيڪ ڏکيو ٿي ويندو آهي ته هر تبديلي کي ٻين سڀني ڊولپرز سان همٿائڻ. توهان جي مقامي مشين تي مڪمل اسٽيڪ اسپن ڪرڻ جي ڪوشش هر روز سخت ٿي رهي آهي.

وڏين ڪمپنين ۾، ڊولپرز کي عام طور تي خبر ناهي ته ڪير ڇا تي ڪم ڪري رهيو آهي. ٽيمون ڪميونيڪيشن ڪن ٿيون سروس ڪانٽريڪٽ استعمال ڪندي يا سروس ميش ٽيڪنالاجي استعمال ڪندي آهي، جيڪا نيٽ ورڪ تي هڪ تجريدي پرت شامل ڪري ٿي، جهڙوڪ Istio configuration tool. مقامي طور تي مڪمل اسٽيڪ کي هلائڻ جي ڪوشش ڪرڻ بلڪل ممڪن ناهي. مان هڪ مسلسل ترسيل (CD) پليٽ فارم استعمال ڪرڻ جي صلاح ڏيان ٿو جهڙوڪ ڪبرنيٽس تي Spinnaker. تنهن ڪري، اتي هڪ نقطو اچي ٿو جتي هر حڪم کي ضرور پنهنجي نالي جي جاء جي ضرورت آهي. هر ٽيم پڻ چونڊي سگھي ٿي ڪيترن ئي نالن جي جڳھ لاءِ ديو ماحول ۽ پروڊ ماحول.

آخرڪار، اتي وڏيون ڪاروباري ڪمپنيون آهن جن ۾ ڊولپرز جي هڪ گروهه کي ٻين گروپن جي وجود بابت به خبر ناهي. اهڙي ڪمپني عام طور تي ٽئين پارٽي ڊولپرز کي نوڪري ڏئي سگهي ٿي جيڪي ان سان گڏ چڱي طرح دستاويز ٿيل APIs ذريعي رابطو ڪن ٿا. هر اهڙي گروپ ۾ ڪيترن ئي ٽيمن ۽ ڪيترن ئي microservices تي مشتمل آهي. انهي حالت ۾، توهان سڀني اوزارن کي استعمال ڪرڻ جي ضرورت آهي جنهن بابت مون اڳ ۾ ڳالهايو.

Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان

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

اھڙيءَ طرح، توھان جي تنظيم پاران نالن جي جڳھن جو صحيح استعمال توھان کي اجازت ڏئي ٿو ڪبرنيٽس کي وڌيڪ منظم، قابل ڪنٽرول، محفوظ، ۽ لچڪدار.

Kubernetes بهترين طريقا. تياري ۽ جاندار ٽيسٽن سان ڪبرنيٽس جي زندگي جي تصديق ڪرڻ

ڪجھ اشتهار 🙂

اسان سان گڏ رهڻ لاء توهان جي مهرباني. ڇا توهان اسان جا مضمون پسند ڪندا آهيو؟ وڌيڪ دلچسپ مواد ڏسڻ چاهيو ٿا؟ آرڊر ڏيڻ يا دوستن کي سفارش ڪندي اسان جي مدد ڪريو، ڪلائوڊ VPS ڊولپرز لاءِ $4.99 کان, داخلا-سطح سرورز جو هڪ منفرد اينالاگ، جيڪو اسان توهان لاءِ ايجاد ڪيو هو: VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps جي باري ۾ سڄي حقيقت $19 کان يا سرور ڪيئن شيئر ڪجي؟ (RAID1 ۽ RAID10 سان دستياب آهي، 24 ڪور تائين ۽ 40GB DDR4 تائين).

ڊيل R730xd 2x سستا Equinix Tier IV ڊيٽا سينٽر ۾ Amsterdam ۾؟ صرف هتي 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV $199 کان هالينڊ ۾! ڊيل R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 کان! جي باري ۾ پڙهو انفراسٽرڪچر ڪارپوريشن ڪيئن ٺاهيو. ڪلاس ڊيل R730xd E5-2650 v4 سرورز جي استعمال سان 9000 يورو جي قيمت هڪ پني لاءِ؟

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

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