A nireti pe o ka apakan akọkọ, Nibi ti a ti ṣe alaye ni ṣoki kini Awọn imuṣiṣẹ Canary jẹ. A tun fihan bi a ṣe le ṣe imuse rẹ nipa lilo awọn orisun Kubernetes boṣewa.
Argo Rollouts
Argo Rollouts jẹ oludari imuṣiṣẹ ọmọ abinibi Kubernetes kan. O pese CRD (Itumọ orisun orisun Aṣa) fun Kubernetes. O ṣeun si rẹ, a le lo nkan titun kan: Rollout, eyi ti o ṣakoso awọn bulu-alawọ ewe ati awọn imuṣiṣẹ canary pẹlu orisirisi awọn aṣayan iṣeto ni.
Argo Rollouts oludari lo nipasẹ aṣa awọn oluşewadi Rollout, Gba laaye fun awọn ilana imuṣiṣẹ ni afikun gẹgẹbi alawọ-alawọ ewe ati canary fun Kubernetes. Awọn orisun Rollout pese deede iṣẹ-ṣiṣe Deployment, nikan pẹlu awọn ilana imuṣiṣẹ afikun.
awọn oluşewadi Deployments ni awọn ilana meji fun imuṣiṣẹ: RollingUpdate и Recreate. Botilẹjẹpe awọn ọgbọn wọnyi dara fun ọpọlọpọ awọn ọran, fun imuṣiṣẹ si awọn olupin ni iwọn ti o tobi pupọ, awọn ilana afikun ni a lo, bii alawọ-alawọ ewe tabi canary, eyiti ko si ninu oluṣakoso Imuṣiṣẹ. Lati lo awọn ọgbọn wọnyi ni Kubernetes, awọn olumulo ni lati kọ awọn iwe afọwọkọ lori oke Awọn imuṣiṣẹ wọn. Adarí Argo Rollouts ṣafihan awọn ilana wọnyi bi o rọrun, asọye, awọn aye atunto. https://argoproj.github.io/argo-rollouts
Argo CI tun wa, eyiti o pese wiwo oju opo wẹẹbu ti o rọrun fun lilo pẹlu Rollouts, a yoo wo iyẹn ni nkan atẹle.
Eyi jẹ Python + Flask API ti o rọrun pupọ ti o da esi pada bi JSON. A yoo kọ package naa nipa lilo GitlabCI ati Titari abajade si Iforukọsilẹ Gitlab. Ninu iforukọsilẹ a ni awọn ẹya itusilẹ oriṣiriṣi meji:
wuestkamp/k8s-imuṣiṣẹ-apẹẹrẹ-app:v1
wuestkamp/k8s-imuṣiṣẹ-apẹẹrẹ-app:v2
Iyatọ laarin wọn nikan ni faili JSON pada. A lo ohun elo yii lati wo ni irọrun bi o ti ṣee ṣe iru ẹya ti a n ba sọrọ.
Ibi ipamọ ohun elo
Ninu ibi ipamọ yii a yoo lo GitlabCI fun imuṣiṣẹ si Kubernetes, .gitlab-ci.yml dabi eyi:
Mo ṣeduro fidio yii gaan, o fihan bi Argo Rollouts ati Argo CI ṣe n ṣiṣẹ papọ:
Abajade
Mo nifẹ gaan imọran ti lilo awọn CRD ti o ṣakoso ẹda ti awọn iru imuṣiṣẹ ti afikun tabi awọn atunda, awọn ọna gbigbe, ati bẹbẹ lọ. Ṣiṣẹ pẹlu wọn lọ laisiyonu. Nigbamii Emi yoo fẹ lati ṣe idanwo isọpọ pẹlu Argo CI.
Bibẹẹkọ, o dabi ẹni pe iṣopọ nla ti Argo CI ati Flux CI nbọ, nitorinaa MO le duro titi itusilẹ tuntun yoo fi jade: Argo Flux.
Njẹ o ti ni iriri eyikeyi pẹlu Argo Rollouts tabi Argo CI?