“Is e cunnart an t-ainm meadhanach agam,” thuirt Austin Powers, fear dìomhaireachd eadar-nàiseanta. Ach chan eil na tha air a mheas gu mòr le sàr riochdairean agus seirbheisean fiosrachaidh idir freagarrach airson seirbheisean coimpiutair, far a bheil dòrainn mòran nas fheàrr na cunnart.
Agus tha Istio, còmhla ri OpenShift agus Kubernetes, a’ dèanamh a bhith a’ cleachdadh microservices dha-rìribh dòrainneach agus ro-innseach - agus tha sin sgoinneil. Bruidhnidh sinn mu dheidhinn seo agus mòran a bharrachd anns a’ cheathramh agus post mu dheireadh san t-sreath Istio.
Nuair a tha dòrainn ceart
Anns a 'chùis againn, chan eil sgìth a' tachairt ach anns an ìre mu dheireadh, nuair nach eil air fhàgail ach suidhe agus coimhead air a 'phròiseas. Ach airson seo feumaidh tu a h-uile càil a rèiteachadh an toiseach, agus tha tòrr rudan inntinneach a’ feitheamh riut an seo.
Nuair a bhios tu a’ cleachdadh dreach ùr den bhathar-bog agad, is fhiach beachdachadh air a h-uile roghainn airson cunnartan a lughdachadh. Tha ruith ann an co-shìnte na dhòigh fìor chumhachdach agus dearbhte airson deuchainn, agus leigidh Istio leat “seirbheis dhìomhair” (dreach falaichte den microservice agad) a chleachdadh gus seo a dhèanamh gun a bhith a’ cur bacadh air an t-siostam toraidh. Tha eadhon teirm sònraichte ann airson seo - “Dark Launch”, a tha e fhèin air a chuir an gnìomh le gnìomh leis an aon ainm brathaidh “trafaic mirroring”.
Thoir an aire gu bheil a’ chiad seantans den pharagraf roimhe a’ cleachdadh an fhacail “deploy” seach “release”. Bu chòir dhut a bhith comasach air am meanbh-sheirbheis agad a chuir a-steach - agus, gu dearbh, a chleachdadh cho tric ‘s a thogras tu. Feumaidh an t-seirbheis seo a bhith comasach air trafaic fhaighinn agus a phròiseasadh, toraidhean a thoirt gu buil, agus cuideachd sgrìobhadh gu logaichean agus sgrùdadh. Ach aig an aon àm, chan fheum an t-seirbheis seo fhèin a bhith air a leigeil ma sgaoil gu cinneasachadh. Chan eil cleachdadh agus leigeil às bathar-bog an-còmhnaidh an aon rud. Faodaidh tu cleachdadh uair sam bith a tha thu ag iarraidh, ach leig às dìreach nuair a bhios tu deiseil.
Tha eagrachadh dòrainn inntinneach
Thoir sùil air an riaghailt slighe Istio a leanas, a bhios a’ stiùireadh gach iarrtas HTTP gu moladh microservice v1 (a h-uile eisimpleir air a thoirt bho
Thoir aire don leubail mirror:
aig bonn na sgrìn - is e seo a tha a 'suidheachadh sgàthan trafaig. Tha, tha e cho sìmplidh sin!
Is e toradh na riaghailt seo gun lean an siostam toraidh agad (v1) a’ làimhseachadh iarrtasan a tha a’ tighinn a-steach, ach bidh na h-iarrtasan iad fhèin air an nochdadh gu neo-chinnteach gu v2, is e sin, thèid na dùblaidhean iomlan aca ann. San dòigh seo, faodaidh tu deuchainn a dhèanamh air v2 ann an suidheachaidhean fìor - air dàta fìor agus trafaic - gun a bhith a ’cur bacadh air dòigh sam bith air obrachadh an t-siostam toraidh. A bheil seo a’ fàgail deuchainn eagrachaidh dòrainneach? Tha, gu cinnteach. Ach tha e air a dhèanamh ann an dòigh inntinneach.
Cuireamaid drama ris
Thoir an aire gu bheil e riatanach sa chòd v2 ullachadh airson suidheachaidhean far am faodadh iarrtasan a thig a-steach leantainn gu atharrachaidhean dàta. Tha na h-iarrtasan fhèin air an nochdadh gu furasta agus gu follaiseach, ach tha an roghainn dòigh giollachd san deuchainn an urra riut fhèin - agus tha seo beagan draghail.
Dèanamaid puing chudromach a-rithist
Faodar cur air bhog dìomhair le sgàthan trafaic (Dork Launch / Request Mirroring) a dhèanamh gun a bhith a ’toirt buaidh air a’ chòd ann an dòigh sam bith.
Biadh airson smaoineachadh
Dè ma tha an t-àite far a bheilear a’ sealltainn iarrtasan a’ cur cuid dhiubh chan ann gu v1, ach gu v2? Mar eisimpleir, aon sa cheud de na h-iarrtasan air fad no dìreach iarrtasan bho bhuidheann sònraichte de luchd-cleachdaidh. Agus an uairsin, mar-thà a 'coimhead air mar a tha v2 ag obair, mean air mhean gluais a h-uile iarrtas chun dreach ùr. No a chaochladh, till a h-uile càil gu v1 ma thèid rudeigin ceàrr air v2. Tha mi a’ smaoineachadh gur e Canary Deployment a chanar ris.
Cleachdadh Canary ann an Istio: coimiseanadh nas sìmplidhe
Gu cùramach agus mean air mhean
Tha brìgh a’ mhodail cleachdadh Canary Deploy gu math sìmplidh: nuair a chuireas tu air bhog dreach ùr den bhathar-bog agad (anns a’ chùis againn, meanbh-sheirbheis), bheir thu cothrom air an toiseach do bhuidheann bheag de luchd-cleachdaidh. Ma thèid a h-uile càil gu math, bidh thu ag àrdachadh a’ chuantail seo gu slaodach gus an tòisich an dreach ùr ag obair, no - mura dèan e - mu dheireadh imrich a h-uile neach-cleachdaidh thuige. Le bhith a’ toirt a-steach dreach ùr gu smaoineachail agus mean air mhean agus ag atharrachadh luchd-cleachdaidh thuige ann an dòigh fo smachd, faodaidh tu cunnartan a lughdachadh agus fios air ais a mheudachadh.
Gu dearbh, bidh Istio a’ sìmpleachadh Cleachdadh Canary le bhith a’ tabhann grunn roghainnean math airson slighe iarrtasan tuigseach. Agus tha, faodar seo uile a dhèanamh gun a bhith a’ beantainn ris a’ chòd stòr agad ann an dòigh sam bith.
A 'sìoladh a' bhrabhsair
Is e aon de na slatan-tomhais slighe as sìmplidh ath-stiùireadh stèidhichte air brabhsair. Canaidh sinn nach eil thu ag iarraidh ach iarrtasan bho bhrobhsairean Safari a dhol gu v2. Seo mar a tha e air a dhèanamh:
Feuch an cuir sinn an riaghailt slighe seo an sàs agus an uairsin cleachd an àithne curl
Samhlaichidh sinn fìor iarrtasan don microservice ann an lùb. Mar a chì thu san dealbh, thèid iad uile gu v1:
Càite bheil an trafaic air v2? Leis gun tàinig a h-uile iarrtas nar n-eisimpleir a-mhàin bhon loidhne-àithne againn fhìn, dìreach chan eil e ann. Ach thoir aire do na loidhnichean as ìsle air an sgrion gu h-àrd: tha seo na fhreagairt don fhìrinn gun do chuir sinn an gnìomh iarrtas bhon bhrobhsair Safari, a rinn seo an uair sin:
Cumhachd gun chrìoch
Tha sinn mu thràth air sgrìobhadh gu bheil abairtean cunbhalach a’ toirt seachad comasan fìor chumhachdach airson iarrtasan slighe. Thoir sùil air an eisimpleir a leanas (tha sinn a’ smaoineachadh gun tuig thu dè nì e):
Roimhe seo is dòcha gu bheil beachd agad air dè as urrainn abairtean cunbhalach a dhèanamh.
Dèan Glic
Leigidh slighe glic, gu sònraichte a bhith a’ giullachd cinn pacaidean a’ cleachdadh abairtean cunbhalach, leat trafaic a stiùireadh mar a tha thu ag iarraidh. Agus tha seo gu mòr a 'sìmpleachadh buileachadh còd ùr - tha e sìmplidh, chan fheum e an còd fhèin atharrachadh, agus ma tha sin riatanach, faodar a h-uile càil a thilleadh gu luath mar a bha e.
A bheil ùidh agad?
A bheil thu airson feuchainn air Istio, Kubernetes agus OpenShift air a’ choimpiutair agad? Sgioba
Istio Egress: falbh tron bhùth cuimhneachaidh
Le bhith a’ cleachdadh Istio còmhla ri Red Hat OpenShift agus Kubernetes, faodaidh tu do bheatha a dhèanamh le microservices gu math nas fhasa. Tha mogal seirbheis Istio falaichte am broinn pods Kubernetes, agus tha do chòd a’ ruith (sa mhòr-chuid) leis fhèin. Coileanadh, furasta atharrachadh, lorg, msaa - tha seo uile furasta a chleachdadh le taing do bhith a ’cleachdadh soithichean taobh càr. Ach dè ma dh’ fheumas am microservice agad conaltradh le seirbheisean eile a tha taobh a-muigh an t-siostam OpenShift-Kubernetes agad?
Seo far a bheil Istio Egress a’ tighinn gu teasairginn. Ann an ùine ghoirid, leigidh e leat faighinn gu goireasan (leugh: “seirbheisean”) nach eil nam pàirt den t-siostam agad de pods Kubernetes. Mura dèan thu rèiteachadh a bharrachd, an uairsin ann an àrainneachd àrainneachd Istio Egress chan eil trafaic air a stiùireadh ach taobh a-staigh cruinneachadh de pods agus eadar cruinneachaidhean mar sin stèidhichte air clàran IP a-staigh. Agus bidh an leithid de chuilean ag obair glè mhath fhad ‘s nach fheum thu cothrom air seirbheisean bhon taobh a-muigh.
Leigidh Egress leat na clàran IP gu h-àrd a sheachnadh, an dàrna cuid stèidhichte air riaghailtean Egress no air raon de sheòlaidhean IP.
Canaidh sinn gu bheil prògram Java againn a nì iarrtas GET gu httpbin.org/headers.
(Tha httpbin.org na ghoireas freagarrach airson a bhith a’ dèanamh deuchainn air iarrtasan seirbheis a tha a’ dol a-mach.)
Ma chuireas tu a-steach air an loidhne-àithne curl http://httpbin.org/headers
, chì sinn na leanas:
No faodaidh tu an aon sheòladh fhosgladh sa bhrobhsair:
Mar a chì thu, tha an t-seirbheis a tha suidhichte an sin dìreach a’ tilleadh na cinn a chaidh a thoirt thuige.
Tha sinn a’ dol an àite in-mhalairt ceann-air
A-nis gabhamaid còd Java na seirbheis seo, taobh a-muigh ar siostam, agus ruith e leinn fhìn, far a bheil, cuimhnich, tha Istio air a chuir a-steach. (Faodaidh tu seo a dhèanamh leat fhèin le bhith a’ cur fios gu curl egresshttpbin-istioegress.$(minishift ip).nip.io
, às deidh sin chì sinn seo air an sgrion:
Oops, dè thachair? Bha a h-uile dad dìreach ag obair. Dè a tha an sloinneadh Not Found a' ciallachadh? Rinn sinn dìreach e dha curl
.
Leudachadh clàran IP chun an eadar-lìn gu lèir
Bu chòir a’ choire (no taing) a thoirt do Istio airson seo. Às deidh na h-uile, is e dìreach soithichean taobh-càr a tha ann an Istio a tha an urra ri lorg agus slighe (agus tòrr rudan eile air an do bhruidhinn sinn na bu thràithe). Air an adhbhar seo, chan eil fios aig clàran IP ach dè a tha taobh a-staigh an t-siostam brabhsair agad. Agus tha httpbin.org taobh a-muigh agus mar sin ruigsinneach. Agus seo far a bheil Istio Egress a’ tighinn gu teasairginn - às aonais an atharrachadh as lugha air a’ chòd stòr agad.
Tha an riaghailt Egress gu h-ìosal a’ toirt air Istio sgrùdadh a dhèanamh (ma tha sin riatanach, an uairsin air feadh an eadar-lìn gu lèir) airson an t-seirbheis a tha a dhìth, sa chùis seo, httpbin.org. Mar a chì thu bhon fhaidhle seo (egress_httpbin.yml), tha an gnìomh an seo gu math sìmplidh:
Chan eil air fhàgail ach an riaghailt seo a chur an gnìomh:
istioctl create -f egress_httpbin.yml -n istioegress
Chì thu riaghailtean Egress leis an àithne istioctl get egressrules
:
Agus mu dheireadh, bidh sinn a 'ruith an àithne a-rithist curl - agus chì sinn gu bheil a h-uile càil ag obair:
Tha sinn a’ smaoineachadh gu fosgailte
Mar a chì thu, leigidh Istio leat eadar-obrachadh leis an t-saoghal a-muigh a chuir air dòigh. Ann am faclan eile, faodaidh tu fhathast seirbheisean OpenShift a chruthachadh agus an riaghladh tro Kubernetes, a ’cumail a h-uile càil ann am pods a tha a’ dol suas is sìos mar a dh ’fheumar. Agus aig an aon àm, faodaidh tu faighinn gu sàbhailte gu seirbheisean taobh a-muigh na h-àrainneachd agad. Agus tha, bidh sinn a-rithist a-rithist gum faodar seo a dhèanamh gun a bhith a’ beantainn ris a’ chòd agad ann an dòigh sam bith.
B’ e seo am post mu dheireadh san t-sreath air Istio. Cùm sùil - tha tòrr rudan inntinneach romhainn!
Source: www.habr.com