Dark Launch in Istio: Secret Services

"Loza no anarako afovoany," hoy i Austin Powers, lehilahy iraisam-pirenena mistery. Saingy tsy mety amin'ny serivisy informatika ny zavatra hajain'ny super agents sy ny sampan-draharaham-pitsikilovana, izay tsara kokoa noho ny loza ny fahasorenana.

Dark Launch in Istio: Secret Services

Ary Istio, miaraka amin'ny OpenShift sy Kubernetes, dia mahatonga ny fampiasana microservice ho mankaleo sy azo vinaniana - ary mahafinaritra izany. Hiresaka momba izany sy ny maro hafa isika amin'ny lahatsoratra fahefatra sy farany amin'ny andiany Istio.

Rehefa marina ny fahasorenana

Amin'ny tranga misy antsika, ny fahasorenana dia mitranga amin'ny dingana farany ihany, raha ny sisa tavela dia ny mipetraka sy mijery ny dingana. Fa amin'izany dia mila manamboatra ny zava-drehetra aloha ianao, ary zavatra mahaliana maro no miandry anao eto.

Rehefa mampiasa dikan-teny vaovao amin'ny rindrambaiko ianao, dia ilaina ny mandinika ny safidy rehetra mba hampihenana ny risika. Ny fandehanana mifanandrify dia fomba tena mahery vaika sy voaporofo, ary i Istio dia mamela anao hampiasa "serivisy miafina" (dikan-teny miafina amin'ny microservice anao) hanaovana izany tsy hanelingelina ny rafitra famokarana. Misy mihitsy aza ny teny manokana ho an'izany - "Dark Launch", izay indray mandeha amin'ny alΓ lan'ny fiasa miaraka amin'ny anarana mpitsikilo mitovy amin'ny "mirrotra fifamoivoizana".

Mariho fa ny fehezanteny voalohany amin'ny andalana teo aloha dia mampiasa ny teny hoe "mametraka" fa tsy "mamoaka". Tokony ho afaka mametraka β€” ary, mazava ho azy, mampiasa β€” ny microservice isaky ny tianao. Ity serivisy ity dia tsy maintsy afaka mandray sy mikarakara ny fifamoivoizana, mamokatra vokatra, ary manoratra amin'ny diary sy manara-maso ihany koa. Saingy mandritra izany fotoana izany, ity serivisy ity dia tsy voatery havoaka amin'ny famokarana. Ny fametrahana sy ny famoahana rindrambaiko dia tsy mitovy foana. Azonao atao ny manaparitaka amin'ny fotoana rehetra tianao, fa rehefa vonona ianao vao avoaka.

Mahaliana ny fandaminana ny fahasorenana

Jereo ity fitsipika zotra Istio manaraka ity, izay mitondra ny fangatahana HTTP rehetra mankany amin'ny tolo-kevitry ny microservice v1 (ireo ohatra rehetra nalaina tao amin'ny Istio Tutorial GitHub repo), raha ampitahaina amin'ny microservice v2 izy ireo:

Dark Launch in Istio: Secret Services
Tandremo ny etikety mirror: eo amin'ny farany ambany ny efijery - izany no mametraka ny fifamoivoizana mirroring. Eny, tsotra izany!

Ny vokatr'io fitsipika io dia ny rafi-pamokaranao (v1) dia hanohy ny fikojakojana ny fangatahana ho avy, fa ny fangatahana ny tenany dia ho voataratra amin'ny v2, izany hoe, ny dika mitovy amin'izy ireo dia ho any. Amin'izany fomba izany, azonao atao ny manandrana v2 amin'ny toe-javatra tena izy - amin'ny angon-drakitra tena izy sy ny fifamoivoizana - tsy mitsabaka amin'ny fomba fiasan'ny rafitra famokarana. Mahatonga ny fikarakarana fitiliana ho mankaleo ve izany? Eny, azo antoka. Saingy amin'ny fomba mahaliana no anaovana azy.

Aleo asiana tantara an-tsehatra

Mariho fa ao amin'ny kaody v2 dia ilaina ny manome ireo toe-javatra izay mety hitarika amin'ny fiovan'ny data ny fangatahana miditra. Ny fangatahana ny tenany dia hita taratra mora sy mangarahara, fa ny safidy ny fomba fanodinana ao amin'ny fitsapana dia miankina aminao - ary izany dia somary mampanahy.

Andeha isika hamerina hevitra iray manan-danja

Ny fandefasana miafina miaraka amin'ny fitaratry ny fifamoivoizana (Dark Launch/Request Mirroring) dia azo atao tsy misy fiantraikany amin'ny kaody amin'ny fomba rehetra.

Sakafo ho an'ny fisainana

Ahoana raha ny toerana misy ny fangatahana dia mandefa ny sasany amin'izy ireo tsy amin'ny v1, fa amin'ny v2? Ohatra, ny iray isan-jaton'ny fangatahana rehetra na ny fangatahana avy amin'ny vondrona mpampiasa iray ihany. Ary avy eo, efa mijery ny fomba fiasan'ny v2, afindra tsikelikely amin'ny dikan-teny vaovao ny fangatahana rehetra. Na ny mifamadika amin'izany, avereno amin'ny v1 ny zava-drehetra raha misy tsy mety amin'ny v2. Heveriko fa antsoina hoe Canary Deployment izany. miverina amin'ny fitrandrahana, ary raha avy amin'ny fiteny Rosiana izy io, dia azo inoana fa misy firesahana momba izany saka), ary hojerentsika amin'ny antsipiriany bebe kokoa izany.

Fampielezana Canary ao Istio: manamora ny fandefasana

Amim-pitandremana sy tsikelikely

Ny tena fototry ny modely fanaparitahana Canary Deployment dia tena tsotra: rehefa manomboka dikan-teny vaovao amin'ny rindrambaiko ianao (amin'ny tranga misy anay, microservice), dia manome fidirana amin'ny vondron'ny mpampiasa vitsivitsy aloha ianao. Raha mandeha tsara ny zava-drehetra, dia ampitomboinao tsikelikely ity vondrona ity mandra-panombohan'ny kinova vaovao, na - raha tsy mandeha izany - dia afindra any amin'io daholo ny mpampiasa rehetra. Amin'ny fampidirana am-pitandremana sy tsikelikely ny dikan-teny vaovao sy ny famadihana ireo mpampiasa azy amin'ny fomba voafehy, dia azonao atao ny mampihena ny risika sy mampitombo ny valin-kafatra.

Mazava ho azy fa manatsotra ny Canary Deployment i Istio amin'ny alΓ lan'ny fanomezana safidy tsara maro ho an'ny zotra fangatahana manan-tsaina. Ary eny, azo atao izany rehetra izany raha tsy mikasika ny kaody loharanonao amin'ny fomba rehetra.

Sivana ny navigateur

Ny iray amin'ireo fepetra zotra tsotra indrindra dia ny redirection mifototra amin'ny navigateur. Aleo atao hoe fangatahana avy amin'ny navigateur Safari ihany no tadiavinao hankany amin'ny v2. Toy izao no nanaovana azy:

Dark Launch in Istio: Secret Services
Andao hampihatra ity fitsipika zotra ity ary ampiasao ny baiko curl Hanao tahaka ny fangatahana tena izy amin'ny microservice izahay. Araka ny hitanao amin'ny pikantsary dia mandeha amin'ny v1 izy rehetra:

Dark Launch in Istio: Secret Services
Aiza ny fifamoivoizana amin'ny v2? Satria amin'ny ohatra asehontsika dia avy amin'ny baikon'ny baiko ihany ny fangatahana rehetra, tsy misy izany. Fa tandremo ny tsipika ambany eo amin'ny efijery etsy ambony: fanehoan-kevitra amin'ny fanatanterahana ny fangatahana avy amin'ny navigateur Safari izahay, izay niteraka izao:

Dark Launch in Istio: Secret Services

Hery tsy manam-petra

Efa nanoratra izahay fa ny fanehoan-kevitra mahazatra dia manome fahafaha-manao mahery vaika ho an'ny fangatahana zotra. Jereo ity ohatra manaraka ity (heverintsika fa ho azonao ny ataony):

Dark Launch in Istio: Secret Services
Amin'izao fotoana izao dia mety manana hevitra momba izay azon'ny fitenenana mahazatra ianao.

Act Smart

Ny fandalovana marani-tsaina, indrindra ny lohatenin'ny fonosana fanodinana mampiasa fomba fiteny mahazatra, dia ahafahanao mitantana ny fifamoivoizana amin'ny fomba tianao. Ary izany dia manamora be ny fampiharana ny kaody vaovao - tsotra, tsy mitaky ny fanovana ny fehezan-dalΓ na, ary raha ilaina, ny zava-drehetra dia azo averina haingana toy ny teo aloha.

Liana?

Maniry ny hanandrana amin'ny Istio, Kubernetes ary OpenShift amin'ny solosainao ve ianao? Ekipa Ekipa mpamorona Red Hat nanomana tsara boky momba ity lohahevitra ity ary natao ampahibemaso ny rakitra rehetra miaraka aminy. Koa mandehana ary aza mandΓ  na inona na inona.
 

Istio Egress: mivoaka amin'ny fivarotana fahatsiarovana

Amin'ny fampiasana Istio miaraka amin'ny Red Hat OpenShift sy Kubernetes, azonao atao ny manamora ny fiainanao amin'ny microservices. Miafina ao anatin'ny pods Kubernetes ny harato serivisy an'i Istio, ary mandeha mitokana (indrindra) ny kaodinao. Fahombiazana, fanamorana ny fanovana, fanaraha-maso, sns. - izany rehetra izany dia mora ampiasaina noho ny fampiasana kaontenera sidecar. Ahoana anefa raha mila mifandray amin'ny serivisy hafa ivelan'ny rafitrao OpenShift-Kubernetes ny microservice anao?

Eto dia tonga hamonjy ny Istio Egress. Raha fintinina dia ahafahanao miditra amin'ny loharanon-karena (vakio: β€œserivisy”) izay tsy ao anatin'ny rafitrao pods Kubernetes. Raha tsy manao fanampim-panazavana fanampiny ianao, dia ao anatin'ny vondron'ny pod sy eo anelanelan'ny klioba mifototra amin'ny tabilao IP anatiny ihany no alefa ao amin'ny tontolo Istio Egress. Ary miasa tsara ny pupation toy izany raha mbola tsy mila fidirana amin'ny serivisy avy any ivelany ianao.

Ny Egress dia mamela anao handalo ireo tabilao IP etsy ambony, na mifototra amin'ny fitsipika Egress na amin'ny adiresy IP isan-karazany.

Andeha atao hoe manana programa Java izay manao fangatahana GET amin'ny httpbin.org/headers.

(httpbin.org dia loharanom-pahalalana mety amin'ny fitiliana ny fangatahana serivisy mivoaka.)

Raha miditra amin'ny andalana baiko ianao curl http://httpbin.org/headers, ho hitantsika ireto manaraka ireto:

Dark Launch in Istio: Secret Services
Na azonao atao ny manokatra adiresy mitovy amin'ny navigateur:

Dark Launch in Istio: Secret Services
Araka ny hitanao, ny serivisy hita ao dia mamerina fotsiny ny lohatenin'ny lohateniny.

Manolo ny fanafarana mivantana izahay

Andeha horaisina ny code Java an'ity serivisy ity, ivelan'ny rafitra misy antsika, ary amboary samirery izany, izay, tsarovy, napetraka Istio. (Azonao atao izany amin'ny alΓ lan'ny fifandraisana ny lesona Istio.) Rehefa avy nanamboatra ny sary mifanaraka amin'izany ary natomboka tamin'ny sehatra OpenShift, dia hiantso ity serivisy ity miaraka amin'ny baiko izahay curl egresshttpbin-istioegress.$(minishift ip).nip.io, aorian'izay dia ho hitantsika eo amin'ny efijery:

Dark Launch in Istio: Secret Services
Oay, inona no nitranga? Niasa fotsiny ny zava-drehetra. Inona no dikan'ny hoe Tsy Hita? Natao ho azy fotsiny izany curl.

Manitatra ny latabatra IP amin'ny Internet manontolo

Istio no tokony homena tsiny (na isaorana) noho izany. Rehefa dinihina tokoa, Istio dia kaontenera sidecar fotsiny izay tompon'andraikitra amin'ny fitadiavana sy ny zotra (sy ny zavatra maro hafa noresahintsika teo aloha). Noho izany antony izany, ny tabilao IP dia tsy mahalala afa-tsy izay ao anatin'ny rafitra cluster anao. Ary ny httpbin.org dia hita any ivelany ka tsy azo idirana. Ary eto no tonga hamonjy ny Istio Egress - tsy misy fiovana kely amin'ny kaody loharanonao.

Ny fitsipika Egress etsy ambany dia manery an'i Istio hikaroka (raha ilaina, dia manerana ny Internet manontolo) ny serivisy ilaina, amin'ity tranga ity, httpbin.org. Araka ny hitanao amin'ity rakitra ity (egress_httpbin.yml), dia tsotra ny fiasa eto:

Dark Launch in Istio: Secret Services
Ny hany sisa tavela dia ny fampiharana ity fitsipika ity:

istioctl create -f egress_httpbin.yml -n istioegress

Azonao atao ny mijery ny fitsipika Egress miaraka amin'ny baiko istioctl get egressrules:

Dark Launch in Istio: Secret Services
Ary farany, mamerina ny baiko indray izahay Curl - ary hitantsika fa mandeha ny zava-drehetra:

Dark Launch in Istio: Secret Services

Mieritreritra ampahibemaso izahay

Araka ny hitanao, Istio dia mamela anao handamina fifandraisana amin'ny tontolo ivelany. Raha lazaina amin'ny teny hafa dia mbola afaka mamorona serivisy OpenShift ianao ary mitantana azy ireo amin'ny alΓ lan'ny Kubernetes, mitazona ny zava-drehetra ao anaty pod izay miakatra sy midina araka izay ilaina. Ary miaraka amin'izay koa, afaka miditra soa aman-tsara amin'ny serivisy ivelan'ny tontolo iainanao ianao. Ary eny, averiko indray fa azo atao izany rehetra izany raha tsy mikasika ny kaodinao amin'ny fomba rehetra.

Ity no lahatsoratra farany tamin'ny andiany tao amin'ny Istio. Araho hatrany - misy zavatra mahaliana maro ho avy!

Source: www.habr.com

Add a comment