Gelida Canary iyadoo la adeegsanayo Jenkins-X Istio Flagger
Gelida Canary
Waxaan rajeyneynaa inaad akhrido qaybtii kowaad, halkaas oo aan si kooban u sharaxnay waxa ay tahay Canary Deployments. Waxaan sidoo kale tusnay sida loo hirgeliyo iyadoo la adeegsanayo ilaha caadiga ah ee Kubernetes.
Argo Rollouts
Argo Rollouts waa kantaroolaha geynta u dhashay Kubernetes. Waxay siisaa CRD (Qeexida Kheyraadka Gaarka ah) ee Kubernetes. Thanks to it, waxaan isticmaali karnaa qayb cusub: Rollout, kaas oo maareynaya geynta buluug-cagaaran iyo kanary oo leh xulasho qaabeyn oo kala duwan.
Argo Rollouts kontoroolka ay adeegsato kheyraadka gaarka ah Rollout, Oggolow xeelado geyn dheeri ah sida buluug-cagaaran iyo kanary ee Kubernetes. Khayraadka Rollout waxay bixisaa shaqayn u dhiganta Deployment, kaliya leh xeelado dheeraad ah oo la geeyo.
khayraadka Deployments waxay leedahay laba xeeladood oo lagu geynayo: RollingUpdate ΠΈ Recreate. Inkasta oo xeeladahani ay ku habboon yihiin kiisaska intooda badan, in la geeyo server-yada si aad u ballaaran, xeelado dheeraad ah ayaa la isticmaalaa, sida buluug-cagaaran ama canary, kuwaas oo aan laga heli karin kantaroolaha Deployment. Si loo isticmaalo xeeladahan gudaha Kubernetes, isticmaalayaashu waxay ku qasbanaadeen inay qoraallo ku qoraan dushooda Hawlgelintooda. Xakamaynta Argo Rollouts waxay daaha ka rogtay xeeladahan inay yihiin kuwo fudud, caddaynaya, cabbirro la habayn karo. https://argoproj.github.io/argo-rollouts
Waxa kale oo jira Argo CI, oo bixisa isku-xidhka shabakadda ee ku habboon isticmaalka Rollouts, waxaanu ku eegi doonaa taas maqaalka soo socda.
Kani waa Python+Flask API aad u fudud oo u soo celisa jawaabta JSON ahaan. Waxaan ku dhisi doonaa xirmada anagoo adeegsanayna GitlabCI oo aan natiijada u riixi doono Diiwaanka Gitlab. Diiwaanka waxaan ku haynaa laba nooc oo sii dayn ah:
wuestkamp/k8s-dejinta-tusaale-app:v1
wuestkamp/k8s-dejinta-tusaale-app:v2
Waxa kaliya ee u dhexeeya waa faylka JSON oo la soo celiyay. Waxaan u isticmaalnaa arjigan si aan ugu sawirno sida ugu fudud ee suurtogalka ah nooca aan kula xiriireyno.
Kaydka kaabayaasha dhaqaalaha
Kaydkaan waxaan u isticmaali doonaa GitlabCI dirida Kubernetes, .gitlab-ci.yml waxay u egtahay sidan:
Runtii waxaan ku talinayaa fiidiyowgaan, waxay muujineysaa sida Argo Rollouts iyo Argo CI ay u wada shaqeeyaan:
Natiijada
Waxaan runtii jeclahay fikradda adeegsiga CRD-yada maamula abuurista noocyo dheeri ah oo la geeyo ama dib-u-celinta, dib-u-hagaajinta taraafikada, iwm. La shaqaynta iyaga ayaa si habsami leh u socota. Marka xigta waxaan jeclaan lahaa inaan tijaabiyo isdhexgalka Argo CI.
Si kastaba ha noqotee, waxay u muuqataa inay jiraan iskudar weyn oo Argo CI iyo Flux CI soo socda, markaa waxaan sugi karaa ilaa sii deynta cusubi ka soo baxayso: Argo Flux.
Wax khibrad ah ma u leedahay Argo Rollouts ama Argo CI?
Sidoo kale akhri maqaallo kale oo ku jira blog-keena: