Tikuyamba zolemba zingapo zomwe zikuwonetsa zina mwazinthu zambiri za Istio Service Mesh zikaphatikizidwa ndi Red Hat OpenShift ndi Kubernetes.
Gawo loyamba, lero:
Tiyeni tifotokoze lingaliro la zotengera za Kubernetes sidecar ndikupanga leitmotif ya mndandanda wa zolemba izi: "simukuyenera kusintha chilichonse mu code yanu".
Tiyeni tidziwitse chinthu chofunikira cha Istio - malamulo oyendetsera. Zina zonse za Istio zimamangidwa pa iwo, popeza ndi malamulo omwe amakulolani kuwongolera magalimoto ku ma microservices, pogwiritsa ntchito mafayilo a YAML kunja kwa code code. Tikuganiziranso dongosolo la Canary Deployment deployment. Bonasi ya Chaka Chatsopano - Maphunziro 10 olumikizana pa Istio
Gawo lachiwiri, likubwera posachedwa, likuuzani:
Momwe Istio imagwiritsira ntchito Pool Ejection kuphatikiza ndi Circuit Breaker ndipo iwonetsa momwe Istio imakuthandizireni kuchotsa pod yakufa kapena yosachita bwino pagawo losanja.
Tiwonanso mutu wa Circuit Breaker kuchokera patsamba loyamba kuti tiwone momwe Istio ingagwiritsire ntchito pano. Tikuwonetsani momwe mungayendetsere kuchuluka kwa magalimoto ndi kuthana ndi zolakwika za netiweki pogwiritsa ntchito mafayilo osintha a YAML ndi malamulo a terminal popanda kusintha pang'ono pama code.
Gawo lachitatu:
Nkhani yokhudzana ndi kufufuza ndi kuyang'anira, zomwe zamangidwa kale kapena kuwonjezeredwa mosavuta ku Istio. Tikuwonetsani momwe mungagwiritsire ntchito zida monga Prometheus, Jaeger, ndi Grafana kuphatikiza ndi OpenShift makulitsidwe kuti muzitha kuyang'anira zomangamanga zazing'ono.
Tiyeni tipite Kumbali Yamdima. Zowonjezereka, tidzaphunzira kugwiritsa ntchito ndondomeko ya Dark Launch, pamene code imayikidwa ndikuyesedwa mwachindunji pa deta yopanga, koma sizimakhudza ntchito ya dongosololi mwanjira iliyonse. Apa ndi pamene mphamvu ya Istio yogawaniza magalimoto imabwera bwino. Ndipo kuthekera koyesa pazidziwitso zopanga zamoyo popanda kukhudza magwiridwe antchito ankhondo mwanjira iliyonse ndiyo njira yotsimikizika kwambiri yotsimikizira.
Kumanga pa Dark Launch, tikuwonetsani momwe mungagwiritsire ntchito mtundu wa Canary Deployment kuti muchepetse chiopsezo ndikupangitsa kuti zikhale zosavuta kupanga khodi yatsopano. Canary Deployment palokha siili yatsopano, koma Istio imakulolani kuti mugwiritse ntchito chiwembuchi ndi mafayilo osavuta a YAML.
Pomaliza, tikuwonetsani momwe mungagwiritsire ntchito Istio Egress kuti mupereke mwayi kwa omwe ali kunja kwa magulu anu kuti agwiritse ntchito mphamvu za Istio pogwira ntchito ndi intaneti.
Kotero, tiyeni tipite ...
Zida zowunikira ndi kuyang'anira Istio - chilichonse chomwe mungafune kuti mupange ma microservices mu mesh yautumiki utumiki mauna.
Kodi Istio Service Mesh ndi chiyani
Service mesh imagwiritsa ntchito zinthu monga kuyang'anira kuchuluka kwa magalimoto, kuwongolera mwayi wofikira, kuzindikira, chitetezo, kulekerera zolakwika ndi zinthu zina zothandiza pagulu lantchito. Istio imakulolani kuti muchite zonsezi popanda kusintha pang'ono ku code ya mautumiki okha. Kodi chinsinsi chamatsenga ndi chiyani? Istio imagwirizanitsa pulojekiti yake ku ntchito iliyonse mu mawonekedwe a chidebe cha sidecar (sidecar ndi njinga yamoto yam'mbali), pambuyo pake magalimoto onse opita kuntchitoyi amadutsa pa proxy, yomwe, motsogozedwa ndi ndondomeko zotchulidwa, imasankha momwe, liti komanso ngati ayenera kufikira utumiki konse. Istio imapangitsanso kugwiritsa ntchito njira zapamwamba za DevOps monga kutumizira ma canary, ophwanya ma circuit, jekeseni wolakwa ndi ena ambiri.
Momwe Istio imagwirira ntchito ndi zotengera ndi Kubernetes
Istio service mesh ndi kukhazikitsidwa kwapambali zonse zofunika kupanga ndi kuyang'anira ma microservices: kuyang'anira, kufufuza, maulendo oyendayenda, maulendo, kusanja katundu, jekeseni wolakwa, kuyesanso, nthawi, kuyang'ana, kuyang'anira, kuchepetsa mlingo ndi zina zambiri. Ndipo ngakhale lero pali matani owerengera kuti agwiritse ntchito izi mwachindunji mu code, ndi Istio mutha kupeza zinthu zomwezo osasintha chilichonse mu code yanu.
Malinga ndi mtundu wa sidecar, Istio imayenda mu chidebe cha Linux, chomwe chili m'modzi Kubernetes-pod yokhala ndi ntchito yoyendetsedwa ndikulowetsa ndikutulutsa magwiridwe antchito ndi chidziwitso molingana ndi kasinthidwe koperekedwa. Tikugogomezera kuti izi ndi zanu zokha, ndipo zimakhala kunja kwa khodi yanu. Choncho, code imakhala yophweka komanso yayifupi.
Chofunikiranso ndikuti gawo logwirira ntchito la ma microservices limakhala kuti silinagwirizane ndi code yokha, zomwe zikutanthauza kuti ntchito yawo ikhoza kusamutsidwa mosamala kwa akatswiri a IT. Zowonadi, chifukwa chiyani wopangayo akuyenera kukhala ndi udindo pa ophwanya madera ndi jakisoni wolakwika? Chitani, inde, koma zisintheni ndikuzipanga? Mukachotsa zonsezi pamakhodi, opanga mapulogalamu azitha kuyang'ana kwambiri magwiridwe antchito. Ndipo code yokha idzakhala yaifupi komanso yosavuta.
Service mauna
Istio, yomwe imagwiritsa ntchito ntchito zowongolera ma microservices kunja kwa ma code awo, ndiye lingaliro la Service Mesh. Mwa kuyankhula kwina, ndi gulu logwirizana la chimodzi kapena zingapo zomwe zimapanga mauna a ntchito za intaneti.
Momwe Istio imagwirira ntchito ndi ma microservices
Umu ndi momwe ntchito ya zotengera zam'mbali zimawonekera molumikizana Kubernetes ΠΈ Minishift diso la mbalame: yambitsani chitsanzo cha Minishift, pangani pulojekiti ya Istio (tiyeni tiyitcha "istio-system"), ikani ndikuyendetsa zigawo zonse zokhudzana ndi Istio. Kenako, mukamapanga mapulojekiti ndi ma pods, mumawonjezera zambiri zosinthira pazomwe mumatumizira, ndipo ma pod anu amayamba kugwiritsa ntchito Istio. Chithunzi chosavuta chikuwoneka motere:
Tsopano mutha kusintha makonda a Istio kuti, mwachitsanzo, kukonza jekeseni wolakwa, kuthandizira Kutumiza kwa Canary kapena zina za Istio - ndipo zonsezi popanda kukhudza ma code a mapulogalamu okha. Tiyerekeze kuti mukufuna kuwongolera kuchuluka kwa anthu pa intaneti kuchokera kwa ogwiritsa ntchito kasitomala wanu wamkulu (Foo Corporation) kupita ku mtundu watsopano watsambalo. Kuti muchite izi, ingopangani lamulo la Istio routing lomwe limayang'ana @foocorporation.com mu ID ya wogwiritsa ndikuwongolera moyenerera. Kwa ogwiritsa ntchito ena onse, palibe chomwe chidzasinthe. Pakadali pano, muyesa modekha mtundu watsopano watsambalo. Ndipo dziwani kuti simukuyenera kuphatikizira omanga konse pa izi.
Ndipo kodi muyenera kulipira kwambiri?
Ayi konse. Istio ndiyofulumira kwambiri ndipo imalembedwa mkati Go ndipo imapanga malo ochepa kwambiri. Kuphatikiza apo, kutayika komwe kungatheke pakupanga pa intaneti kumathetsedwa ndi kuwonjezeka kwa zokolola zamapulogalamu. Osachepera m'malingaliro: musaiwale kuti nthawi ya omanga ndiyofunika. Ponena za ndalama zamapulogalamu, Istio ndi pulogalamu yotseguka, kotero mutha kuyipeza ndikuigwiritsa ntchito kwaulere.
Dziwani nokha
Gulu la Red Hat Developer Experience Team lapanga manja ozama kalozera lolemba Istio (mu Chingerezi). Imagwira pa Linux, MacOS ndi Windows, ndipo code ikupezeka mu Java ndi Node.js.
Maphunziro a 10 pa Istio
Block 1 - Kwa oyamba kumene
Chiyambi cha Istio
Mphindi 30
Tiyeni tidziwane ndi Service Mesh, phunzirani kukhazikitsa Istio mu gulu la OpenShift Kubernetes. Yambirani
Kutumiza ma microservices ku Istio
Mphindi 30
Timagwiritsa ntchito Istio kutumiza ma microservices atatu ndi Spring Boot ndi Vert.x. Yambirani
Block 2 - mlingo wapakatikati
Kuwunika ndi kutsata ku Istio
Mphindi 60
Tifufuza zida zowunikira zomwe zidapangidwa ndi Istio, ma metrics okhazikika, ndi OpenTracing kudzera pa Prometheus ndi Grafana. Yambirani
Njira yosavuta ku Istio
Mphindi 60
Phunzirani momwe mungayendetsere maulendo ku Istio pogwiritsa ntchito malamulo osavuta. Yambirani
Malamulo apanjira apamwamba
Mphindi 60
Tiyeni tiwone njira zanzeru za Istio, kuwongolera kolowera, kusanja katundu ndi kuchepetsa mitengo. Yambirani
Block 3 - ogwiritsa ntchito apamwamba
Jakisoni Wolakwika ku Istio
Mphindi 60
Timaphunzira za kulephera kusamalira zochitika m'mapulogalamu omwe amagawidwa, kupanga zolakwika za HTTP ndi kuchedwa kwa maukonde, ndikuphunzira kugwiritsa ntchito uinjiniya wachisokonezo kuti abwezeretse chilengedwe. Yambirani
Circuit Breaker ku Istio
Mphindi 30
Timayika Siege pamasamba oyesa kupsinjika ndikuphunzira momwe mungatsimikizire kulekerera zolakwika za backend pogwiritsa ntchito ma replay, ophwanya dera ndi ejection dziwe. Yambirani
Egress ndi Istio
Mphindi 10
Timagwiritsa ntchito njira za Egress kupanga malamulo okhudzana ndi ntchito zamkati ndi ma API akunja ndi ntchito. Yambirani
Istio and Kiali
Mphindi 15
Phunzirani kugwiritsa ntchito Kiali kuti muwone mwachidule za mesh yautumiki ndikuwunika zopempha ndikuyenda kwa data. Yambirani
Mutual TLS ku Istio
Mphindi 15
Timapanga Istio Gateway ndi VirtualService, kenako timaphunzira TLS (mTLS) ndi makonda ake mwatsatanetsatane. Yambirani
Block 3.1 - Dive Yakuya: Istio Service Mesh ya Microservices
Kodi bukuli likunena za chiyani:
Kodi mauna a service ndi chiyani?
Dongosolo la Istio ndi gawo lake pakumanga kwa microservice.
Mndandanda wa zolembazi sizinapangidwe kuti zipereke kuzama kwa dziko la Istio. Timangofuna kukudziwitsani za lingalirolo ndipo mwina kukulimbikitsani kuti muyese Istio nokha. Ndi zaulere kuchita, ndipo Red Hat imapereka zida zonse zomwe mungafune kuti muyambe ndi OpenShift, Kubernetes, zotengera za Linux, ndi Istio, kuphatikiza: Red Hat Developer OpenShift Container Platform, wotsogolera wathu ku Istio ndi zinthu zina pazathu microsite pa Service Mesh. Osachedwetsa, yambani lero!
Mku. Chithunzi 2 chikuwonetsa zomwe zimachitika ngati muwonjezera chiwerengero cha mautumiki a v2 kuchokera ku chimodzi mpaka ziwiri (izi zimachitika ndi oc scale -replicas=2 deployment/recommendation-v2 command). Monga mukuonera, zopempha pakati pa v1 ndi v2 tsopano zagawidwa mu chiΕ΅erengero chimodzi-pa-tatu: 1-2-2-1-2-2-β¦:
Apa muyenera kulabadira izi: pods amasankhidwa malinga ndi zolemba. Chitsanzo chathu chimagwiritsa ntchito zilembo v1. "Kulemera: 100" parameter kumatanthauza kuti 100% ya magalimoto idzatumizidwa ku ma pod onse omwe ali ndi chizindikiro cha v1.
Kugawa kwachilangizo pakati pa mitundu (Canary Deployment)
Kenako, pogwiritsa ntchito chizindikiro cholemetsa, mutha kuwongolera kuchuluka kwa ma pod onse, kunyalanyaza kuchuluka kwa ma microservice omwe akuyenda mu iliyonse yaiwo. Mwachitsanzo, apa tikuwongolera 90% yamagalimoto ku v1 ndi 10% mpaka v2:
Mayendedwe osiyana a ogwiritsa ntchito mafoni
Pomaliza, tiwonetsa momwe tingakakamizire kuchuluka kwa ogwiritsa ntchito mafoni kuti atumizidwe ku v2, ndi wina aliyense ku v1. Kuti tichite izi, timagwiritsa ntchito mawu okhazikika kusanthula mtengo wa wogwiritsa ntchito pamutu wofunsira:
Tsopano ndi nthawi yanu
Chitsanzo chokhala ndi mawu okhazikika pamitu yodulira mitu chikuyenera kukulimbikitsani kupeza momwe mungagwiritsire ntchito malamulo a Istio. Kuphatikiza apo, mwayi pano ndi wokulirapo, chifukwa mitu yamutu imatha kupangidwa mu code source source.
Ndipo kumbukirani kuti Ops, osati Dev
Chilichonse chomwe tidawonetsa m'zitsanzo pamwambapa chimapangidwa popanda kusintha pang'ono mu code source, chabwino, kupatula pazochitikazo pamene kuli kofunikira kupanga mitu yopempha yapadera. Istio idzakhala yothandiza kwa onse opanga, omwe, mwachitsanzo, adzatha kuigwiritsa ntchito poyesa, komanso kwa akatswiri pakugwiritsa ntchito machitidwe a IT, omwe angathandize kwambiri kupanga.
Kotero tiyeni tibwereze leitmotif ya mndandanda wa zolemba izi: simuyenera kusintha chilichonse mu code yanu. Palibe chifukwa chopanga zithunzi zatsopano kapena kuyambitsa zotengera zatsopano. Zonsezi zimayendetsedwa kunja kwa code.
Gwiritsani ntchito malingaliro anu
Tangoganizirani kuthekera kwa kusanthula mutu pogwiritsa ntchito mawu okhazikika. Mukufuna kuwongolera kasitomala wanu wamkulu ku mtundu wapadera wanu microservices? Mosavuta! Mukufuna mtundu wina wa msakatuli wa Chrome? Palibe vuto! Mutha kuyendetsa magalimoto molingana ndi chikhalidwe chilichonse.
Yesani nokha
Kuwerenga za Istio, Kubernetes ndi OpenShift ndi chinthu chimodzi, koma bwanji osakhudza chilichonse nokha? Gulu Pulogalamu ya Red Hat Developer wakonza kalozera watsatanetsatane (m'Chingerezi) yemwe angakuthandizeni kudziwa matekinolojewa mwachangu momwe mungathere. Bukuli lilinso 100% gwero lotseguka, kotero limayikidwa pagulu. Fayiloyi imagwira ntchito pa macOS, Linux ndi Windows, ndipo gwero likupezeka mu Java ndi node.js mitundu (mitundu ya zilankhulo zina ikubwera posachedwa). Ingotsegulani chosungira cha git mu msakatuli wanu Red Hat Developer Demo.
Mu positi yotsatira: timathetsa mavuto bwino
Lero mwawona zomwe malamulo a Istio routing angachite. Tsopano lingalirani chinthu chomwecho, koma pokhudzana ndi kukonza zolakwika. Izi ndi zomwe tidzakambirana mu positi yotsatira.