Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

Kubernetes بهترين طريقا. ننڍو ڪنٽينر ٺاهڻ
Kubernetes بهترين طريقا. آرگنائيزيشن آف ڪبرنيٽس نالي جي جاءِ سان
Kubernetes بهترين طريقا. تياري ۽ جاندار ٽيسٽن سان ڪبرنيٽس جي زندگي جي تصديق ڪرڻ
Kubernetes بهترين طريقا. وسيلن جي درخواستن ۽ حدن کي ترتيب ڏيڻ

Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

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

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

ڪبرنيٽس هڪ "مشاهدو-تفرق-عمل" ايونٽ لوپ استعمال ڪري ٿو انهي کي يقيني بڻائڻ لاءِ ته وسيلا صحتمند رهن جڏهن اهي ڪنٽينرز کان نوڊس تائين سفر ڪن ٿا.

Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

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

تنهن ڪري، اهو تمام ضروري آهي ته توهان جي ايپليڪيشن آخري استعمال ڪندڙ تي گهٽ ۾ گهٽ اثر ۽ گهٽ ۾ گهٽ بحالي وقت سان ختم ٿئي. ان جو مطلب اهو آهي ته بند ڪرڻ کان اڳ، ان کي ڪنهن به ڊيٽا کي محفوظ ڪرڻ گهرجي جيڪو محفوظ ڪرڻ جي ضرورت آهي، سڀئي نيٽ ورڪ ڪنيڪشن بند ڪرڻ، باقي ڪم مڪمل ڪرڻ، ۽ ٻيا ضروري ڪم مڪمل ڪرڻ گهرجن.

عملي طور تي، ان جو مطلب اهو آهي ته توهان جي ايپليڪيشن کي SIGTERM پيغام کي سنڀالڻ جي قابل هجڻ گهرجي - پروسيس ٽرمينيشن سگنل، جيڪو يونڪس تي ٻڌل آپريٽنگ سسٽم ۾ ڪِل يوٽيلٽي لاءِ ڊفالٽ سگنل آهي. هي پيغام ملڻ تي، ايپليڪيشن کي ختم ٿيڻ گهرجي.

هڪ ڀيرو ڪبرنيٽس هڪ پوڊ کي ختم ڪرڻ جو فيصلو ڪري ٿو، واقعن جو هڪ سلسلو ٿئي ٿو. اچو ته هر قدم تي نظر وجهون جيڪو ڪبرنيٽس ڪنٽينر يا پوڊ کي ختم ڪرڻ وقت کڻندو آهي.

فرض ڪريو ته اسان هڪ پوڊ کي ختم ڪرڻ چاهيون ٿا. هن موقعي تي، اهو نئين ٽرئفڪ حاصل ڪرڻ بند ڪري ڇڏيندو - پوڊ ۾ هلندڙ ڪنٽينر متاثر نه ٿيندا، پر سڀ نئين ٽرئفڪ کي بلاڪ ڪيو ويندو.

Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

اچو ته پري اسٽاپ هُڪ تي نظر وجهون - هڪ خاص ڪمانڊ يا HTTP درخواست جيڪا پوڊ ۾ ڪنٽينرز ڏانهن موڪلي ويندي آهي. جيڪڏهن توهان جي ايپليڪيشن SIGTERM وصول ڪرڻ تي خوبصورتي سان بند نه ٿيندي آهي، ته توهان صحيح بند کي يقيني بڻائڻ لاءِ پري اسٽاپ استعمال ڪري سگهو ٿا.

Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

گھڻا پروگرام SIGTERM سگنل ملڻ تي خوبصورتي سان بند ٿي ويندا، پر جيڪڏهن توهان ٽئين پارٽي ڪوڊ يا ڪو سسٽم هلائي رهيا آهيو جيڪو توهان مڪمل طور تي ڪنٽرول نه ٿا ڪريو، ته پوءِ پري اسٽاپ ٿلهو ايپليڪيشن کي تبديل ڪرڻ کان سواءِ زبردستي بند ڪرڻ جو هڪ بهترين طريقو آهي.

هن ٿلهو جي عمل کان پوءِ، ڪبرنيٽس پوڊ ۾ ڪنٽينرز ڏانهن هڪ SIGTERM سگنل موڪليندو، انهن کي ٻڌائيندو ته اهي ڊسڪنيڪٽ ٿيڻ وارا آهن. هن سگنل حاصل ڪرڻ تي، توهان جو ڪوڊ بند ٿيڻ جو عمل شروع ڪندو. هن عمل ۾ ڪنهن به ڊگهي عرصي واري ڪنيڪشن کي روڪڻ، جهڙوڪ ڊيٽابيس ڪنيڪشن يا ويب ساکٽ اسٽريم، موجوده حالت کي محفوظ ڪرڻ، وغيره شامل ٿي سگھي ٿو.

جيتوڻيڪ جيڪڏهن توهان پري اسٽاپ ٿلهو استعمال ڪندا آهيو، اهو جانچڻ ضروري آهي ته جڏهن توهان ان کي SIGTERM سگنل موڪليو ٿا ته توهان جي ايپليڪيشن سان ڇا ٿئي ٿو، ۽ اهو ڪيئن برتاءُ ڪري ٿو، ته جيئن توهان پوڊ بند ٿيڻ جي ڪري سسٽم جي آپريشن ۾ ڪنهن به واقعي يا تبديلين کان حيران نه ٿيو.

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

Kubernetes بهترين طريقا. صحيح بند ختم ڪريو

ڊفالٽ طور، هي عرصو 30 سيڪنڊ آهي. اهو نوٽ ڪرڻ ضروري آهي ته اهو پري اسٽاپ هُڪ ۽ سِگٽرم سگنل سان گڏ هلندو آهي. ڪُبرنيٽس پري اسٽاپ هُڪ ۽ سِگٽرم جي مڪمل ٿيڻ جو انتظار نه ڪندو - جيڪڏهن توهان جي ايپليڪيشن ٽرمينيشن گريس پيريڊ جي ختم ٿيڻ کان اڳ ختم ٿي ويندي آهي، ته ڪُبرنيٽس فوري طور تي ايندڙ قدم تي هلي ويندي. تنهن ڪري، پڪ ڪريو ته سيڪنڊن ۾ هي عرصو قدر گهٽ ۾ گهٽ پوڊ کي خوبصورتي سان ختم ڪرڻ لاءِ گهربل وقت جي برابر آهي. جيڪڏهن اهو 30 سيڪنڊن کان وڌيڪ آهي، ته پوءِ مدت کي YAML ۾ گهربل قدر تائين وڌايو. ڏنل مثال ۾، اهو 60 سيڪنڊ آهي.

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

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

DDoS تحفظ سان سائيٽن لاءِ قابل اعتماد هوسٽنگ خريد ڪريو، VPS VDS سرور 🔥 DDoS تحفظ سان قابل اعتماد ويب سائيٽ هوسٽنگ خريد ڪريو، VPS VDS سرورز | ProHoster