Daahfurka Madow ee Istio: Adeegyada Qarsoon

"Khatarta waa magacayga dhexe," Austin Powers, oo ah nin caalami ah oo qarsoodi ah, ayaa odhan jiray. Laakiin waxa qadarinta sare leh ee super agents iyo adeegyada sirdoonkuba kuma habboona adeegyada kombayutarka, halkaas oo caajisnimadu aad uga wanaagsan tahay khatarta.

Daahfurka Madow ee Istio: Adeegyada Qarsoon

Iyo Istio, oo ay weheliyaan OpenShift iyo Kubernetes, waxay ka dhigayaan geynta adeeg-yaraha runtii caajis iyo saadaal - taasina waa wax weyn. Tan iyo wax ka badan ayaan kaga hadli doonaa qoraalka afraad iyo kan ugu dambeeya ee taxanaha Istio.

Marka caajisku waa sax

Xaaladeena, caajisnimadu waxay dhacdaa oo keliya marxaladda ugu dambeysa, marka dhammaan waxa hadhay ay tahay in la fadhiisto oo la daawado habka. Laakiin tan waxaad u baahan tahay inaad wax walba hagaajiso marka hore, waxyaabo badan oo xiiso leh ayaa halkan kugu sugaya.

Markaad direyso nooc cusub oo software-kaaga ah, waxaa habboon in la tixgeliyo dhammaan xulashooyinka lagu yaraynayo khataraha. Ku shaqeynta isku midka ah waa hab aad u xoog badan oo la xaqiijiyay oo lagu tijaabinayo, Istio wuxuu kuu ogolaanayaa inaad isticmaasho "adeegga sirta ah" (nooca qarsoon ee adeeggaaga yar yar) si aad tan u sameyso adigoon faragelinin nidaamka wax soo saarka. Waxaa jira xitaa erey gaar ah oo tan u ah - "Dark Dark", taas oo iyaduna lagu hawlgeliyo shaqo leh magac basaasnimo oo siman "muraayadda taraafigga".

Fadlan la soco in jumlada koowaad ee cutubka hore ay adeegsato ereyga "geyn" halkii "sii dayn". Waa inaad runtii awood u yeelatid inaad geyso - iyo, dabcan, isticmaal - adeegahaaga yar yar inta jeer ee aad rabto. Adeegani waa inuu awood u yeeshaa inuu helo oo farsameeyo taraafikada, soo saaro natiijooyinka, iyo sidoo kale wax u qori kara logyada oo uu kormeero. Laakiin isla mar ahaantaana, adeeggan laftiisa daruuri uma baahna in lagu sii daayo wax soo saarka. Gelitaanka iyo sii daynta software-ku had iyo jeer maaha wax isku mid ah. Waxaad geyn kartaa mar kasta oo aad rabto, laakiin sii daayo kaliya marka aad diyaar u tahay.

Abaabulka caajisku waa mid xiiso leh

U fiirso xeerka soo socda ee Istio, kaas oo u maro dhammaan codsiyada HTTP ee tallada microservice v1 (dhammaan tusaalooyinka laga soo qaatay Istio Tutorial GitHub repo), iyadoo isla mar ahaantaana u milicsanaya talada v2 microservice:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
U fiirso calaamadda mirror: xagga hoose ee shaashadda - waa tan dejisa muraayadda taraafigga. Haa, way fududahay!

Natiijada xeerkani waxay noqon doontaa in nidaamkaaga wax-soo-saarka (v1) uu sii wadi doono socodsiinta codsiyada soo socda, laakiin codsiyada laftooda ayaa si isku mid ah loogu sawiri doonaa v2, taas oo ah, nuquladooda dhamaystiran ayaa halkaas tagi doona. Sidan, waxaad ku tijaabin kartaa v2 xaaladaha dhabta ah - xogta dhabta ah iyo taraafikada - adigoon faragelin sinaba u ah hawlgalka nidaamka wax soo saarka. Tani miyay ka dhigaysaa imtixaan abaabulka caajis? Haa, xaqiiqdii. Laakiin waxaa loo sameeyay si xiiso leh.

Aan ku daro riwaayad

Fadlan la soco in summada v2 ay lagama maarmaan tahay in lagu bixiyo xaaladaha codsiyada soo gelaya ay u horseedi karaan isbeddelka xogta. Codsiyada laftooda si fudud oo daah-furan ayaa loo milicsadaa, laakiin doorashada habka habaynta ee imtixaanku adiga ayay ku xidhan tahay - tanina waa waxoogaa welwel leh.

Aan ku celino qodob muhiim ah

Daah-furka sirta ah ee muraayadda taraafigga (Dark Launch/Codsiga muraayadda) waa la samayn karaa iyada oo aan sinaba u saamaynin koodka.

Cuntada fikirka

Ka warran haddii meesha codsiyada lagu soo bandhigo ay u diraan qaarkood ma v1, laakiin v2? Tusaale ahaan, boqolkiiba hal dhammaan codsiyada ama kaliya codsiyada koox isticmaaleyaal gaar ah. Ka dibna, horayba u eegaya sida v2 u shaqeyso, si tartiib tartiib ah ugu wareeji dhammaan codsiyada nooca cusub. Ama dhanka kale, wax walba ku soo celi v1 haddii ay wax qaldamaan v2. Waxaan u maleynayaa in loo yaqaan Canary Deployment. dib ugu noqda macdanta, iyo haddii ay asal ahaan ka timid Ruushka, waxay u badan tahay inay ku jirto tixraac bisadaha), oo hadda waxaan si faahfaahsan u eegi doonaa tan.

Gelida Canary ee Istio: fududaynta hawlgelinta

Si taxadar leh oo tartiib tartiib ah

Nuxurka qaabka keenista Canary waa mid aad u fudud: markaad bilawdo nooc cusub oo software-kaaga ah (xaaladkeena, adeeg-yaraha), waxaad marka hore siinaysaa koox yar oo isticmaaleyaal ah. Haddii wax waliba si fiican u socdaan, waxaad si tartiib tartiib ah u kordhineysaa kooxdan ilaa nooca cusub uu bilaabo inuu bilaabo, ama - haddii aysan dhicin - ugu dambeyntii u haajiraan dhammaan isticmaalayaasha. Adigoo si fakar ah oo tartiib tartiib ah u soo bandhigaya nooc cusub oo isticmaalayaasha ugu beddelaya hab la xakameeyey, waxaad yareyn kartaa khataraha oo aad sare u qaadi kartaa jawaab celinta.

Dabcan, Istio waxa ay fududaynaysaa keenista Canary isaga oo siinaya dhawr ikhtiyaar oo wanaagsan oo loogu talagalay habaynta codsiga garaadka. Oo haa, waxaas oo dhan waa la samayn karaa iyada oo aan la taaban koodhka ishaada sinaba.

Shaandhaynta browserka

Mid ka mid ah shuruudaha dariiqa ugu fudud ayaa ah dib u habeyn ku saleysan browserka. Aynu nidhaahno inaad rabto kaliya codsiyada Safari browsers si aad u gasho v2. Waa kan sida loo sameeyo:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Aynu adeegsano qaanuunka dariiqa ka dibna isticmaal amarka curl Waxaan u ekaan doonaa codsiyada dhabta ah ee adeega-yaraha ee loop. Sida aad ku arki karto shaashadda, dhamaantood waxay aadayaan v1:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Aaway taraafikada v2? Maadaama tusaalaheenna dhammaan codsiyada ay ka yimaadeen kaliya khadka taliska, si fudud ma jiraan. Laakiin fiiro gaar ah u yeelo khadadka hoose ee shaashadda kore: tani waa falcelin ku saabsan xaqiiqda ah in aan fulinay codsi ka yimid browserka Safari, kaas oo soo saaray tan:

Daahfurka Madow ee Istio: Adeegyada Qarsoon

Awood aan xad lahayn

Waxaan horey u qornay in tibaaxaha caadiga ah ay bixiyaan awoodo aad u xoog badan oo loogu talagalay habaynta codsiyada. U fiirso tusaalahan soo socda (waxaan u malaynaynaa inaad fahmi doonto waxay qabato):

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Hadda waxaad u badan tahay inaad leedahay fikrad ah waxa tibaaxaha caadiga ah ay sameyn karaan.

Dhaqan Smart

Dariiqa casriga ah, gaar ahaan habaynta baakadaha madaxa oo isticmaalaya tibaaxaha caadiga ah, waxay kuu ogolaanaysaa inaad u hagto taraafikada sida aad rabto. Oo tani waxay si weyn u fududaynaysaa hirgelinta code cusub - waa wax fudud, uma baahna in la beddelo code laftiisa, iyo haddii loo baahdo, wax walba si degdeg ah loo soo celin karaa sidii ay ahayd.

Xiiseynaya?

Ma jeceshahay inaad ku tijaabiso Istio, Kubernetes iyo OpenShift kumbuyuutarkaaga? Kooxda Kooxda Horumarinta Koofiyada Cas u diyaariyey heer sare ah buugga qoraalka mawduucan oo ka dhigay dhammaan faylasha la socda mid si cad loo heli karo. Markaa horay u soco oo waxba ha inkirin naftaada.
 

Istio Egress: ka bax dukaanka xusuusta

Adigoo isticmaalaya Istio oo ay la socdaan Koofiyadaha Cas OpenShift iyo Kubernetes, waxaad noloshaada kaga dhigi kartaa adeeg-yar oo aad u fudud. Shabakadda adeegga Istio waxay ku qarsoon tahay gudaha Kubernetes pods, koodkaaguna wuxuu u socdaa (inta badan) si gooni ah. Waxqabadka, sahlanaanta isbeddelka, raadinta, iwm. - waxaas oo dhan way fududahay in la isticmaalo iyada oo ay ugu wacan tahay isticmaalka weelasha dhinaca. Laakiin maxaa dhacaya haddii adeegahaaga yar yar uu u baahan yahay inuu la xiriiro adeegyada kale ee ku yaal meel ka baxsan nidaamkaaga OpenShift-Kubernetes?

Tani waa halka uu Istio Egress u yimaado samatabbixinta. Marka la soo koobo, waxay si fudud kuu ogolaanaysaa inaad gasho agabka (akhri: β€œadeegyada”) ee aan ka mid ahayn nidaamkaaga Kubernetes pods. Haddii aadan sameynin qaabeynta dheeriga ah, markaa gudaha deegaanka Istio Egress taraafikada waxaa lagu maareeyaa kaliya koox ka mid ah boodhadhka iyo inta udhaxeysa kooxahaas oo ku saleysan miisaska IP gudaha. Cutubka noocan oo kale ah ayaa si weyn u shaqeeya ilaa iyo inta aanad u baahnayn inaad hesho adeegyo dibadda ah.

Egress wuxuu kuu ogolaanayaa inaad dhaafto miisaska IP-ga ee sare, ha ahaato mid ku saleysan sharciyada Egress ama cinwaano IP oo kala duwan.

Aynu nidhaahno waxaanu haynaa barnaamij Java ah oo codsi GET ah u sameeya httpbin.org/headers.

(httpbin.org waa kaliya kheyraad ku habboon in lagu tijaabiyo codsiyada adeegga baxaya.)

Haddii aad gasho khadka taliska curl http://httpbin.org/headers, waxaan arki doonaa kuwan soo socda:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Ama waxaad ku furi kartaa isla ciwaanka browserka:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Sida aad arki karto, adeegga halkaas ku yaal wuxuu si fudud u soo celiyaa madaxyada loo gudbiyay.

Waxaan bedeleynaa badeecooyinka la soo dejiyo si toos ah

Hadda aynu soo qaadanno koodhka Java ee adeeggan, oo ka baxsan nidaamkayaga, oo aynu iskeed u wadno, halkaas oo, xusuuso, Istio ayaa lagu rakibay. (Adiga laftaada ayaa tan samayn kara adiga oo la xidhiidhaya Casharradayada Istio.) Ka dib markii la dhisay sawirka ku habboon oo ku bilaabay OpenShift platform, waxaan ugu yeeri doonaa adeeggan amarka curl egresshttpbin-istioegress.$(minishift ip).nip.io, ka dib waxaan ku arki doonaa tan shaashadda:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Haah, maxaa dhacay? Wax walba way shaqeeyeen. Waa maxay macnaha aan la helin? Isaga uun baanu u samaynay curl.

Ku fidinta miisaska IP-ga ee dhammaan internetka

Istio waa in lagu eedeeyaa (ama loo mahadceliyaa) tan. Ka dib oo dhan, Istio waa weel dhinac-side ah oo mas'uul ka ah ogaanshaha iyo marin-u-socodka (iyo waxyaabo kale oo badan oo aan horay uga hadalnay). Sababtan awgeed, miisaska IP-yada ayaa kaliya yaqaan waxa ku jira nidaamka kooxdaada. Iyo httpbin.org waxay ku taal bannaanka oo sidaas darteed lama heli karo. Waana halka uu Istio Egress u yimaado samatabbixinta - iyada oo aan wax yar laga beddelin koodhka ishaada.

Xeerka Egress ee ka hooseeya wuxuu ku qasbaya Istio inuu raadiyo (haddii loo baahdo, ka dibna intarneedka oo dhan) adeegga loo baahan yahay, kiiskan, httpbin.org. Sida aad ka arki karto faylkan (egress_httpbin.yml), shaqada halkan waa mid fudud:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Waxa hadhay oo dhan waa in lagu dabaqo xeerkan:

istioctl create -f egress_httpbin.yml -n istioegress

Waxaad ku arki kartaa xeerarka Egress amarka istioctl get egressrules:

Daahfurka Madow ee Istio: Adeegyada Qarsoon
Ugu dambeyntiina, waxaan mar kale maamulnaa amarka curl - waxaana aragnaa in wax walba ay shaqeeyaan:

Daahfurka Madow ee Istio: Adeegyada Qarsoon

Waxaan u fakarnaa si furan

Sida aad arki karto, Istio wuxuu kuu ogolaanayaa inaad abaabusho dhexgalka adduunka dibadda. Si kale haddii loo dhigo, waxaad weli abuuri kartaa adeegyada OpenShift oo aad ku maareyn kartaa Kubernetes, adigoo wax walba ku haynaya boodhyo kor iyo hoos u qaadaya hadba sida loo baahdo. Isla markaana, waxaad si badbaado leh u heli kartaa adeegyada ka baxsan deegaankaaga. Oo haa, waxaanu ku celinaynaa mar kale in waxaas oo dhan la samayn karo iyada oo aan la taaban koodkaaga sinaba.

Tani waxay ahayd qoraalkii ugu dambeeyay ee taxanaha Istio. La soco - waxyaabo badan oo xiiso leh ayaa soo socda!

Source: www.habr.com

Add a comment