پر جيئن ته رليز جي تعدد وڌندي آهي، ايپليڪيشن جي اعتبار يا صارف جي تجربي تي منفي اثر انداز ٿيڻ جا موقعا پڻ وڌندا آهن. انهي ڪري اهو ضروري آهي ته آپريشنز ۽ DevOps ٽيمن لاءِ پروسيس ٺاهڻ ۽ ترتيب ڏيڻ واري حڪمت عملين کي منظم ڪرڻ جي طريقي سان جيڪا پيداوار ۽ استعمال ڪندڙن لاءِ خطري کي گهٽائي ٿي. (توهان CI/CD پائپ لائن آٽوميشن بابت وڌيڪ سکي سگهو ٿا هتي.)
هن پوسٽ ۾، اسان ڪبرنيٽس ۾ مختلف ترتيب ڏيڻ واري حڪمت عملي تي بحث ڪنداسين، بشمول رولنگ ڊيپلائيشنز ۽ وڌيڪ جديد طريقا جهڙوڪ ڪينري رول آئوٽ ۽ انهن جي مختلف قسمن.
لڳائڻ جي حڪمت عمليون
اتي ڪيترائي مختلف قسم جا ترتيب ڏيڻ واري حڪمت عمليون آھن جيڪي توھان استعمال ڪري سگھوٿا توھان جي مقصد جي لحاظ سان. مثال طور، توهان کي وڌيڪ جانچ لاءِ ڪنهن خاص ماحول ۾ تبديليون ڪرڻ جي ضرورت پوندي، يا استعمال ڪندڙن/ڪلائنٽس جي ذيلي سيٽ ۾، يا توهان کي فيچر ٺاهڻ کان پهريان محدود استعمال ڪندڙ ٽيسٽ ڪرڻ جي ضرورت پوندي. عوامي.
رولنگ (تدريسي، "رولنگ" تعیناتي)
هي آهي معياري ترتيب ڏيڻ واري حڪمت عملي Kubernetes ۾. اهو تدريجي طور تي، هڪ هڪ ڪري، پوڊ کي نئين ورزن سان پوڊز سان ايپليڪيشن جي پراڻي ورزن سان تبديل ڪري ٿو - بغير ڪلستر بند ٿيڻ جي.
ڪبرنيٽس انتظار ڪري ٿو جيستائين نوان پوڊ ڪم ڪرڻ لاءِ تيار نه ٿين (انهن کي استعمال ڪندي چيڪ ڪرڻ تياري جا امتحان)، ان کان اڳ جو توهان پراڻن کي رول ڪرڻ شروع ڪيو. جيڪڏهن ڪو مسئلو ٿئي ٿي، ته هي رولنگ اپڊيٽ مڪمل ڪلستر کي روڪڻ کان سواءِ ختم ڪري سگهجي ٿو. YAML فائل ۾ بيان ڪرڻ واري قسم جي وضاحت ڪندي، نئين تصوير پراڻي تصوير کي تبديل ڪري ٿي:
ڪينري رول آئوٽ نيري-سائي رول آئوٽ جھڙا آھن، پر بھتر ڪنٽرول ۽ استعمال آھن ترقي پسند قدم قدم جو طريقو. ھن قسم ۾ ڪيترائي مختلف حڪمت عمليون شامل آھن، جن ۾ ”چپ“ لانچون ۽ A/B جاچ شامل آھن.
هي حڪمت عملي استعمال ڪئي ويندي آهي جڏهن ڪجهه نئين ڪارڪردگي کي آزمائي ڪرڻ جي ضرورت آهي، عام طور تي ايپليڪيشن جي پس منظر ۾. طريقه ڪار جو جوهر اهو آهي ته ٻه لڳ ڀڳ هڪجهڙا سرور ٺاهيا وڃن: هڪ لڳ ڀڳ سڀني صارفين جي خدمت ڪندو آهي، ۽ ٻيو، نون ڪمن سان، صارفين جي صرف هڪ ننڍڙي ذيلي گروپ جي خدمت ڪندو آهي، جنهن کان پوء انهن جي ڪم جي نتيجن جو مقابلو ڪيو ويندو آهي. جيڪڏهن هر شي بغير ڪنهن غلطي جي ٿي وڃي ٿي، نئين نسخي کي تدريجي طور تي پوري انفراسٽرڪچر ڏانهن وڌايو ويندو آهي.
جيتوڻيڪ هن حڪمت عملي کي خاص طور تي Kubernetes استعمال ڪندي لاڳو ڪري سگهجي ٿو، پراڻن پوڊن کي نئين سان تبديل ڪري، Istio وانگر سروس ميش استعمال ڪرڻ تمام گهڻو آسان ۽ آسان آهي.
مثال طور، توهان وٽ Git ۾ ٻه مختلف پڌرا هوندا: هڪ باقاعده پڌرنامو ٽيگ 0.1.0 سان ۽ هڪ ڪينري منشور ٽيگ 0.2.0 سان. Istio ورچوئل گيٽ وي مينيفيسٽ ۾ وزن تبديل ڪرڻ سان، توھان ڪنٽرول ڪري سگھو ٿا ٽريفڪ جي ورڇ کي ھنن ٻن ڊيپلائيمينٽن جي وچ ۾:
Istio استعمال ڪندي ڪينري ڊيپلائيشن کي لاڳو ڪرڻ لاءِ قدم قدم گائيڊ لاءِ، ڏسو GitOps Workflows Istio سان. (نوٽ. ترجمو: اسان ڪينري رول آئوٽ بابت مواد پڻ اسٽيو ۾ ترجمو ڪيو هتي.)
Weaveworks Flagger سان ڪينري ڊيپلائيمينٽ
Weaveworks پرچمگر توهان کي آساني سان ۽ مؤثر طريقي سان ڪينري رول آئوٽ کي منظم ڪرڻ جي اجازت ڏئي ٿي.
Flagger automates انھن سان گڏ ڪم. اهو استعمال ڪري ٿو Istio يا AWS ايپ ميش رستي ۽ ٽريفڪ کي مٽائڻ لاءِ، ۽ نتيجن جو تجزيو ڪرڻ لاءِ Prometheus metrics. ان کان علاوه، ڪينري جي ترتيبن جو تجزيو قبول ڪري سگھجي ٿو ويب هوڪس سان گڏ قبوليت جا امتحان، لوڊ ٽيسٽ، ۽ ٻين قسمن جي چڪاس ڪرڻ لاء.
ڪبرنيٽس جي مقرري جي بنياد تي ۽، جيڪڏهن ضروري هجي ته، پوڊس جي افقي اسڪيلنگ (HPA)، Flagger ٺاهي ٿو شيون جا سيٽ (Kubernetes deployments، ClusterIP خدمتون ۽ Istio يا App Mesh ورچوئل سروسز) ڪينري ڊيپلائيشن جو تجزيو ۽ ان تي عمل ڪرڻ لاءِ:
ڪنٽرول لوپ کي لاڳو ڪرڻ (ڪنٽرول لوپ),Flagger تيزيءَ سان ٽريفڪ کي ڪينري سرور ڏانهن تبديل ڪري ٿو، جڏهن ته گڏوگڏ اهم ڪارڪردگي جي ماپن کي ماپيندي آهي جيئن ته ڪامياب HTTP درخواستن جو سيڪڙو، سراسري درخواست جي مدت، ۽ پوڊ صحت. KPI (Key Performance Indicators) جي تجزيي جي بنياد تي، ڪينري يا ته وڌي ٿي يا ختم ٿي وڃي ٿي ۽ تجزيي جا نتيجا سليڪ ۾ شايع ٿين ٿا. هن عمل جي وضاحت ۽ نمائش مواد ۾ ملي سگهي ٿي ايپ ميش لاءِ ترقي پسند ترسيل.
اونداهي (لڪيل) يا A/B جي ترتيب
اسٽيلٿ ڊبليشن ڪينري حڪمت عملي جي هڪ ٻي تبديلي آهي (جنهن جي ذريعي، فليگر پڻ ڪم ڪري سگهي ٿو). اسٽيلٿ ۽ ڪينري ڊيپلائيمينٽس جي وچ ۾ فرق اهو آهي ته اسٽيلٿ ڊيپلائيمينٽس فرنٽ اينڊ سان ڊيل ڪن ٿيون بلڪه ڪينري ڊيپلائيمينٽس وانگر پٺاڻن سان.
انهن مقررين جو ٻيو نالو A/B جاچ آهي. نئين فيچر کي سڀني استعمال ڪندڙن لاءِ دستياب ڪرڻ بدران، اها پيش ڪئي وئي آهي انهن مان صرف هڪ محدود حصي لاءِ. عام طور تي، اهي استعمال ڪندڙ بي خبر آهن ته اهي اڳڀرائي جاچ ڪندڙ آهن (تنهنڪري اصطلاح "چپڻ جي تعیناتي").
ڪارڪردگي سوئچ استعمال ڪندي (فيچر ٽوگل) ۽ ٻيا اوزار، توهان مانيٽر ڪري سگهو ٿا ته صارفين نئين خصوصيت سان ڪيئن لهه وچڙ ۾ اچن ٿا، ڇا اهي ان سان مصروف آهن، يا ڇا انهن کي نئون يوزر انٽرفيس مونجهارو لڳي ٿو، ۽ ٻين قسمن جي ميٽرڪس.
فليگر ۽ A/B مقرريون
وزن جي بنياد تي رستي جي اضافي ۾، Flagger پڻ HTTP پيٽرولر جي بنياد تي ڪينري سرور ڏانهن ٽرئفڪ کي روٽ ڪري سگھي ٿو. A/B جاچ ۾، توهان استعمال ڪري سگهو ٿا HTTP هيڊر يا ڪوڪيز استعمال ڪندڙن جي مخصوص حصي کي نشانو بڻائڻ لاءِ. اهو خاص طور تي اثرائتو آهي فرنٽ اينڊ ايپليڪيشنن جي صورت ۾ جنهن کي سيشن بائنڊنگ سرور جي ضرورت هوندي آهي (سيشن لاڳاپو). وڌيڪ معلومات ملي سگهي ٿي Flagger دستاويزن ۾.
ليکڪ شڪرگذاري جو اظهار ڪري ٿو اسٽيفن پرودان، Weaveworks انجنيئر (۽ فليگر جو خالق)، انهن سڀني شاندار ترتيب ڏيڻ واري نموني لاء.