جينڪنز-ايڪس اسٽيو فليگر استعمال ڪندي ڪينري جي جوڙجڪ
اسان GitOps ذريعي دستي طور تي ڪينري جي ترتيب کي انجام ڏينداسين ۽ مکيه Kubernetes وسيلن کي ٺاهڻ/تبديل ڪندي. هي مضمون بنيادي طور تي تعارف لاءِ آهي ڪبرنيٽس ڪينري ۾ ڊيپلائيمينٽ ڪيئن ڪم ڪري ٿي، ڇو ته اتي آٽوميشن جا وڌيڪ اثرائتو طريقا آهن، جن تي اسين ايندڙ مضمونن ۾ غور ڪنداسين.
اسان انهن تبديلين کي مخزن ڏانهن ڌڪيندا آهيون جتان تعیناتي شروع ٿيندي (GitlabCI ذريعي) ۽ نتيجي طور ڏسو:
اسان جي خدمت ٻنهي جي مقرري ڏانهن اشارو ڪندي، ڇاڪاڻ ته ٻنهي وٽ ايپ چونڊيندڙ آهي. ڪبرنيٽس جي ڊفالٽ بي ترتيب ٿيڻ جي ڪري، اسان کي ~ 10٪ درخواستن لاءِ مختلف جواب ڏسڻ گهرجن:
اسان جي ايپليڪيشن جي موجوده حالت (GitOps، Git مان ورتو ويو آهي هڪ واحد ذريعو سچائي جي طور تي) فعال ريپليڪس سان گڏ ٻه تعينات جي موجودگي، هر نسخي لاء هڪ.
~ 10٪ استعمال ڪندڙ هڪ نئين نسخي سان واقف ٿي ويا آهن ۽ غير ارادي طور تي ان کي جانچيو. هاڻي وقت آهي لاگز ۾ غلطين جي جانچ ڪرڻ ۽ مسئلن کي ڳولڻ لاءِ ڊيٽا جي نگراني ڪرڻ.
مرحلا 2: سڀني صارفين لاء نئون ورزن جاري ڪريو
اسان فيصلو ڪيو ته سڀ ڪجھ ٺيڪ ٿي ويو ۽ ھاڻي اسان کي سڀني استعمال ڪندڙن لاءِ نئون ورجن رول آئوٽ ڪرڻو آھي. ائين ڪرڻ لاءِ اسان صرف تازه ڪاري ڪندا آهيون deploy.yaml تصوير جو نئون ورزن انسٽال ڪرڻ ۽ 10 جي برابر replicas جو تعداد deploy-canary.yaml اسان نقلن جو تعداد واپس 0 تي مقرر ڪيو. لڳائڻ کان پوء، نتيجو ھيٺ ڏنل ھوندو:
مختصر ڪرڻ لاء
مون لاءِ، ڊيپلائيمينٽ کي دستي طور تي ھلائڻ سان ھي سمجھڻ ۾ مدد ملي ٿي ته ڪھڙي آساني سان ان کي k8s استعمال ڪندي ترتيب ڏئي سگھجي ٿو. جيئن ته ڪبرنيٽس توهان کي API ذريعي هر شي کي اپڊيٽ ڪرڻ جي اجازت ڏئي ٿو، اهي قدم اسڪرپٽ ذريعي خودڪار ٿي سگهن ٿا.
هڪ ٻي شيء جيڪا لاڳو ٿيڻ جي ضرورت آهي هڪ ٽيسٽر انٽري پوائنٽ (LoadBalancer يا Ingress ذريعي) جنهن جي ذريعي صرف نئين ورزن تائين رسائي ٿي سگهي ٿي. اهو دستي برائوزنگ لاء استعمال ڪري سگهجي ٿو.
مستقبل جي مضمونن ۾، اسان ٻين خودڪار حلن جي جانچ ڪنداسين جيڪي اسان جيڪي ڪيو آھي انھن مان گھڻا عمل درآمد ڪن ٿا.