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

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

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

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

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

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

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

خوشقسمتيء سان، ڪبرنيٽس اهو ڪم ڪرڻ بلڪل آسان بڻائي ٿو، تنهنڪري انهن چيڪن کي نظر انداز ڪرڻ لاء ڪو به عذر ناهي. ڪبرنيٽس ٻن قسمن جي صحت جي چڪاس مهيا ڪري ٿو، ۽ اهو ضروري آهي ته فرق سمجھڻ ۾ ته هر هڪ ڪيئن استعمال ڪجي.

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

Liveness ٽيسٽ Kubernetes کي ٻڌائي ٿي ته توهان جي درخواست زنده آهي يا مئل. پهرين صورت ۾، ڪبرنيٽس ان کي اڪيلو ڇڏيندو، ٻئي ۾ اهو مئل پوڊ کي ختم ڪري ڇڏيندو ۽ ان کي نئين سان تبديل ڪندو.

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

جڏهن تياري ٽيسٽ استعمال ڪندي، Kubernetes انتظار ڪندو جيستائين ايپليڪيشن مڪمل طور تي هلندي خدمت کي اجازت ڏيڻ کان اڳ نئين ڪاپي ڏانهن ٽرئفڪ موڪلڻ جي اجازت ڏئي.

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

اچو ته هڪ ٻيو منظر تصور ڪريون جنهن ۾ ايپليڪيشن گهڻي وقت تائين لٽڪي رهي آهي، خدمت جي درخواستن کي روڪيندي. جيئن ته عمل جاري آهي، ڊفالٽ ڪبرنيٽس فرض ڪندو ته سڀ ڪجهه ٺيڪ آهي ۽ غير ڪم ڪندڙ پوڊ ڏانهن درخواستون موڪلڻ جاري رکندو. پر جڏهن Liveness استعمال ڪندي، Kubernetes معلوم ڪندو ته ايپليڪيشن هاڻي درخواستن جي خدمت نه ڪري رهي آهي ۽ ڊيڊ پوڊ کي ڊفالٽ طور تي ٻيهر شروع ڪندي.

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

اچو ته ڏسو ته تيارگي ۽ قابليت کي ڪيئن آزمايو وڃي ٿو. ٽي جاچ جا طريقا آهن - HTTP، ڪمانڊ ۽ TCP. توهان انهن مان ڪنهن کي استعمال ڪري سگهو ٿا چيڪ ڪرڻ لاء. استعمال ڪندڙ کي جانچڻ جو سڀ کان عام طريقو ھڪڙو HTTP جاچ آھي.

جيتوڻيڪ توهان جي ايپليڪيشن هڪ HTTP سرور نه آهي، توهان اڃا تائين پنهنجي ايپليڪيشن جي اندر هڪ ہلڪو وزن HTTP سرور ٺاهي سگهو ٿا Liveness ٽيسٽ سان رابطو ڪرڻ لاء. ان کان پوء، ڪبرنيٽس پوڊ کي پنگ ڪرڻ شروع ڪندو، ۽ جيڪڏهن HTTP جواب 200 يا 300 ms جي حد ۾ آهي، اهو ظاهر ڪندو ته پوڊ صحتمند آهي. ٻي صورت ۾، ماڊل کي "غير صحت مند" طور نشان لڳايو ويندو.

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

ڪمانڊ ٽيسٽ لاءِ، ڪبرنيٽس توهان جي ڪنٽينر اندر ڪمانڊ هلائي ٿو. جيڪڏهن حڪم صفر نڪرڻ واري ڪوڊ سان واپس اچي ٿو، ته پوء ڪنٽينر کي صحتمند طور نشان لڳايو ويندو، ٻي صورت ۾، 1 کان 255 تائين نڪرڻ واري صورتحال نمبر حاصل ڪرڻ تي، ڪنٽينر کي "بيمار" طور نشان لڳايو ويندو. هي جانچ جو طريقو ڪارائتو آهي جيڪڏهن توهان نٿا ڪري سگهو يا نه ٿا چاهيو HTTP سرور هلائڻ، پر توهان هڪ حڪم هلائڻ جي قابل آهيو جيڪو توهان جي ايپليڪيشن جي صحت کي جانچيندو.

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

حتمي تصديق جو طريقو TCP ٽيسٽ آهي. Kubernetes مخصوص پورٽ تي TCP ڪنيڪشن قائم ڪرڻ جي ڪوشش ڪندو. جيڪڏهن اهو ٿي سگهي ٿو، ڪنٽينر کي صحتمند سمجهيو ويندو آهي؛ جيڪڏهن نه، اهو ناقابل سمجهيو ويندو. اهو طريقو ڪارائتو ٿي سگهي ٿو جيڪڏهن توهان هڪ منظر استعمال ڪري رهيا آهيو جتي HTTP درخواست يا حڪم جي عمل سان جاچ تمام سٺو ڪم نه ڪندو آهي. مثال طور، TCP استعمال ڪندي تصديق لاءِ مکيه خدمتون gRPC يا FTP هونديون.

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

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

اڪثر ماهر تصديق ڪندا ته صحت جي چڪاس ڪنهن به ورهايل سسٽم لاءِ لازمي چيڪ آهن، ۽ ڪبرنيٽس ڪو به استثنا نه آهي. سروس صحت جي چڪاس کي استعمال ڪندي ڪبرنيٽس جي قابل اعتماد، مصيبت کان آزاد آپريشن کي يقيني بڻائي ٿي ۽ صارفين لاءِ آسان آهي.

تمام جلد جاري ڪيو ويندو ...

ڪجھ اشتهار 🙂

اسان سان گڏ رهڻ لاء توهان جي مهرباني. ڇا توهان اسان جا مضمون پسند ڪندا آهيو؟ وڌيڪ دلچسپ مواد ڏسڻ چاهيو ٿا؟ آرڊر ڏيڻ يا دوستن کي سفارش ڪندي اسان جي مدد ڪريو، ڪلائوڊ 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

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