Imscaradh Chanáracha ag baint úsáide as Jenkins-X Istio Flagger
Imscaradh Chanáracha
Tá súil againn go léann tú an chéad chuid, áit ar mhínigh muid go hachomair cad is imscaradh Chanáracha ann agus léirigh muid conas iad a chur i bhfeidhm ag baint úsáide as acmhainní caighdeánacha Kubernetes.
Istio
Agus glacaimid leis, tríd an alt seo a léamh go bhfuil a fhios agat cheana féin cad is Istio ann. Mura bhfuil, is féidir leat léamh faoi anseo.
Iarratas le haghaidh tástálacha
Tá dhá choimeádán i ngach pod: ár bhfeidhmchlár agus istio-seachfhreastalaí.
Úsáidfimid feidhmchlár tástála simplí le pods python frontend-nginx agus backend. Ní dhéanfaidh an pod nginx ach gach iarratas a atreorú chuig an pod inneall agus oibreoidh sé mar sheachvótálaí. Is féidir sonraí a fháil sna yamls seo a leanas:
Más mian leat mo shampla a leanúint agus an feidhmchlár tástála seo a úsáid tú féin, féach readme tionscadail.
Imlonnú Tosaigh
Nuair a sheolaimid an chéad Imscaradh, feicimid nach bhfuil ach 2 choimeádán sna pods dár bhfeidhmchlár, is é sin, tá taobhcharr Istio díreach á chur i bhfeidhm:
Agus feicimid freisin Istio Gateway Loadbalancer san ainmspás istio-system:
Giniúint tráchta
Bainfimid úsáid as an IP seo a leanas chun trácht a gheobhaidh na pods tosaigh agus a chuirfear ar aghaidh chuig na pods backend a ghiniúint:
while true; do curl -s --resolve 'frontend.istio-test:80:35.242.202.152' frontend.istio-test; sleep 0.1; done
Cuirfimid freisin frontend.istio-test chuig ár gcomhad ina hóstach.
Féach ar Mogall trí Kiali
Shuiteálamar an feidhmchlár tástála agus Istio mar aon le Tracing, Grafana, Prometheus agus Kiali (féach thíos le haghaidh sonraí). readme tionscadail). Mar sin is féidir linn Kiali a úsáid trí:
istioctl dashboard kiali # admin:admin
Amharcann Kiali an trácht reatha trí mhogalra
Mar a fheicimid, téann 100% den trácht chuig an tseirbhís aghaidh, ansin chuig na pods tosaigh le lipéad v1, ós rud é go bhfuil muid ag baint úsáide as seachfhreastalaí nginx simplí a atreoraíonn iarratais chuig an tseirbhís inneall, rud a atreoraíonn iad chuig na pods inneall. le lipéad v1.
Oibríonn Kiali go han-mhaith le Istio agus soláthraíonn sé réiteach rindreála mogalra i mboscaí. Díreach go hiontach.
Imscaradh Chanáracha
Tá dhá imscaradh k8s ag ár n-inneal cheana féin, ceann do v1 agus ceann do v2. Anois níl le déanamh againn ach a rá le Istio céatadán áirithe iarratas a chur ar aghaidh chuig v2.
Céim 1: 10%
Agus níl le déanamh againn ach meáchan na Seirbhíse Fíorúla a choigeartú i aiste.yaml:
Anois is féidir an t-imscaradh Canárach a bheith críochnaithe agus atreoraítear an trácht go léir chuig v2:
Canáraí a thástáil de láimh
Ligean le rá go gcuirimid 2% de na hiarratais go léir chuig inneall v10 anois. Cad a tharlóidh má theastaíonn uainn v2 a thástáil de láimh chun a chinntiú go n-oibríonn gach rud mar a mbeimid ag súil leis?
Is féidir linn riail meaitseála speisialta a chur leis bunaithe ar cheanntásca HTTP:
Ag baint úsáide as curl anois is féidir linn iarratas v2 a bhrú tríd an gceanntásc a sheoladh:
Beidh iarratais gan ceanntásc fós á dtiomáint ag an gcóimheas 1/10:
Chanáracha ar feadh dhá leagan spleách
Anois déanfaimid machnamh ar an rogha ina bhfuil leagan v2 againn don aghaidh agus don inneall araon. I gcás an dá cheann, shonraigh muid gur cheart go rachadh 10% den trácht chuig v2:
Feicimid an t-éadanas v1 agus v2 an dá thrácht chun tosaigh ag cóimheas 1/10 le hinnill v1 agus v2.
Cad a tharlóidh dá mba ghá dúinn trácht a chur ar aghaidh ó frontend-v2 amháin go dtí backend-v2 toisc nach bhfuil sé ag luí le v1? Chun seo a dhéanamh, socróimid cóimheas 1/10 don aghaidh, a rialaíonn an méid tráchta a théann chuig an inneall-v2 trí úsáid a bhaint as idirbheartaíocht sourceLabels :
Mar thoradh air sin, faigheann muid an méid a theastaíonn uainn:
Difríochtaí ón gcur chuige láimhe Chanáracha
В an chéad chuid Rinneamar imscaradh Chanárach de láimh, ag baint úsáide as dhá imscaradh k8s freisin. Rinneamar rialú ar chóimheas na n-iarratas trí líon na macasamhla a athrú. Oibríonn an cur chuige seo, ach tá míbhuntáistí tromchúiseacha ann.
Is féidir le Istio cóimheas na n-iarratas a chinneadh beag beann ar líon na macasamhla. Ciallaíonn sé seo, mar shampla, gur féidir linn HPAs (Uathscálú Pod Cothrománach) a úsáid agus nach gá iad a chumrú de réir staid reatha imscaradh na Canárach.
Iomlán na
Oibríonn Istio go hiontach agus má úsáidtear é in éineacht le Kiali is meascán an-chumhachtach é. Is é an chéad cheann eile ar mo liosta spéise ná Spinnaker a chomhcheangal le Istio le haghaidh uathoibrithe agus anailísíochta Chanáracha.