Letoto la lipehelo ho Istio Service Mesh

Re qala letoto la lipapatso tse bonts'ang tse ling tsa bokhoni bo bongata ba Istio Service Mesh ha li kopantsoe le Red Hat OpenShift le Kubernetes.

Letoto la lipehelo ho Istio Service Mesh

Karolo ea pele, kajeno:

  • Ha re hlalose mohopolo oa lijana tsa Kubernetes sidecar mme re thehe leitmotif ea letoto lena la lipapatso: "Ha ho hlokahale hore u fetole letho ka khoutu ea hau".
  • Ha re ke re tsebiseng ntho ea mantlha ea Istio - melao ea ho tsamaisa. Likarolo tse ling tsohle tsa Istio li hahiloe holim'a tsona, kaha ke melao e u lumellang ho lebisa sephethephethe ho li-microservices, u sebelisa lifaele tsa YAML kantle ho khoutu ea ts'ebeletso. Re boetse re nahana ka morero oa ho tsamaisa Canary Deployment. Bonase ea Selemo se Secha - lithuto tse 10 tse sebetsanang le Istio


Karolo ea bobeli, e tlang haufinyane, e tla u joetsa:

  • Kamoo Istio e sebelisang Pool Ejection hammoho le Circuit Breaker 'me e tla bontša kamoo Istio e u lumellang ho tlosa pod e shoeleng kapa e sa sebetseng hantle ho tloha potolohong ea ho leka-lekanya.
  • Hape re tla sheba sehlooho sa Circuit Breaker ho tloha posong ea pele ho bona hore na Istio e ka sebelisoa joang mona. Re tla u bontša mokhoa oa ho tsamaisa sephethephethe le ho sebetsana le liphoso tsa marang-rang u sebelisa lifaele tsa tlhophiso tsa YAML le litaelo tsa terminal ntle le liphetoho tse nyane khoutung ea lits'ebeletso.

Karolo ea boraro:

  • Pale e mabapi le ho lata le ho beha leihlo, tse seng li hahelletsoe kapa li kenyellelitsoe habonolo ho Istio. Re tla u bontša mokhoa oa ho sebelisa lisebelisoa tse kang Prometheus, Jaeger, le Grafana hammoho le OpenShift scaling ho laola meralo ea microservice ntle le matla.
  • Re tloha ho beha leihlo le ho sebetsana le liphoso ho ea ho li kenya ka har'a sistimi ka boomo. Ka mantsoe a mang, re ithuta ho etsa ente ea phoso ntle le ho fetola khoutu ea mohloli, e leng ea bohlokoa haholo ho tloha ponong ea teko - kaha haeba u fetola khoutu ka boeona bakeng sa sena, ho na le kotsi ea ho hlahisa liphoso tse eketsehileng.

Qetellong, posong ea ho qetela ho Istio Service Mesh:

  • A re yeng Lehlakoreng le Lefifi. Hantle-ntle, re tla ithuta ho sebelisa leano la Lefifi la Launch, ha khoutu e sebelisoa le ho lekoa ka ho toba ho data ea tlhahiso, empa ha e ame ts'ebetso ea tsamaiso ka tsela leha e le efe. Mona ke moo bokhoni ba Istio ba ho arola sephethephethe bo tlang hantle. 'Me bokhoni ba ho etsa liteko ho data ea tlhahiso e phelang ntle le ho ama ts'ebetso ea tsamaiso ea ntoa ka tsela leha e le efe ke mokhoa o kholisang ka ho fetisisa oa ho netefatsa.
  • Ho aha ka Lefifi la Launch, re tla u bontša mokhoa oa ho sebelisa Canary Deployment ho fokotsa kotsi le ho etsa hore ho be bonolo ho fumana khoutu e ncha tlhahisong. Canary Deployment ka boeona ha e ncha, empa Istio e u lumella ho kenya ts'ebetsong morero ona ka lifaele tse bonolo tsa YAML.
  • Qetellong, re tla u bontša mokhoa oa ho sebelisa Istio Egress ho fana ka monyetla oa ho fumana litšebeletso ho ba ka ntle ho lihlopha tsa hau e le hore u sebelise bokhoni ba Istio ha u sebetsa le Inthanete.

Kahoo, mona re ea ...

Lisebelisoa tsa ho shebella le tsa tsamaiso ea Istio - ntho e 'ngoe le e' ngoe eo u e hlokang ho hlophisa li-microservices ka har'a mesh ea tšebeletso tšebeletso mesh.

Istio Service Mesh ke eng

Mesh ea litšebeletso e sebelisa lits'ebetso tse kang tlhahlobo ea sephethephethe, taolo ea phihlello, ho sibolla, ts'ireletso, ho mamella liphoso le lintho tse ling tsa bohlokoa bakeng sa sehlopha sa litšebeletso. Istio e u lumella ho etsa sena sohle ntle le liphetoho tse nyane ho khoutu ea lits'ebeletso ka botsona. Sephiri sa boselamose ke sefe? Istio e khomarela moemeli oa eona ho tšebeletso e 'ngoe le e' ngoe ka mokhoa oa setshelo sa koloi e ka thōko (sidecar ke koloi e ka thōko ea sethuthuthu), ka mor'a moo sephethephethe sohle se eang tšebeletsong ena se feta ka proxy, eo, e tataisoang ke maano a boletsoeng, e etsang qeto ea hore na, neng le hore na sephethephethe sena lokela ho fihlela tshebeletso ho hang. Istio e boetse e etsa hore ho khonehe ho kenya ts'ebetsong mekhoa e tsoetseng pele ea DevOps e kang li-canary deployments, li-circuit breakers, ente ea phoso le tse ling tse ngata.

Kamoo Istio e sebetsang kateng le lijana le Kubernetes

Istio service mesh ke ts'ebetsong ea mahlakoreng a ntho e 'ngoe le e' ngoe e hlokahalang ho theha le ho laola li-microservices: ho shebella, ho ts'oara, li-circuit breakers, routing, ho leka-lekanya mojaro, ente ea phoso, ho leka hape, ho qeta nako, seipone, ho laola phihlello, ho fokotsa sekhahla le tse ling tse ngata. 'Me le hoja kajeno ho na le lilaebrari tse ngata ho kenya ts'ebetsong mesebetsi ena ka ho toba ka khoutu, ka Istio u ka fumana lintho tse tšoanang ntle le ho fetola ntho leha e le efe khoutu ea hau.

Ho latela mohlala oa sidecar, Istio e sebetsa ka har'a setshelo sa Linux, se fumanehang ho se le seng Kubernetes-pod e nang le ts'ebeletso e laoloang mme e kenya le ho ntša ts'ebetso le tlhaiso-leseling ho latela tlhophiso e fanoeng. Re totobatsa hore sena ke tlhophiso ea hau, 'me e phela ka ntle ho khoutu ea hau. Ka hona, khoutu e ba bonolo haholoanyane ebile e khuts'oane.

Ntho ea bohlokoa hape ke hore karolo ea ts'ebetso ea li-microservices e fetoha ho hang ha e amane le khoutu ka boeona, ho bolelang hore ts'ebetso ea bona e ka fetisetsoa ho litsebi tsa IT ka mokhoa o sireletsehileng. Ka 'nete, ke hobane'ng ha moqapi a lokela ho ikarabella bakeng sa li-circuit breakers le ente ea phoso? U arabe, ee, empa u li sebetsane le ho li etsa? Haeba u tlosa sena sohle ho khoutu, baetsi ba mananeo ba tla khona ho tsepamisa maikutlo ka botlalo ts'ebetsong ea kopo. 'Me khoutu ka boeona e tla ba khutšoanyane le ho ba bonolo.

Mesh ea tšebeletso

Istio, e sebelisang mesebetsi ea ho laola li-microservices ka ntle ho khoutu ea tsona, ke mohopolo oa Service Mesh. Ka mantsoe a mang, ke sehlopha se hokahaneng sa li-binaries tse le 'ngoe kapa tse ngata tse etsang mesh ea mesebetsi ea marang-rang.

Kamoo Istio e sebetsang kateng le microservices

Sena ke seo mosebetsi oa li-container tsa sidecar o shebahalang ka sona hammoho Kubernetes и Minishift pono ea nonyana: qala mohlala oa Minishift, theha projeke bakeng sa Istio (ha re e bitse "istio-system"), kenya le ho tsamaisa likarolo tsohle tse amanang le Istio. Joale, ha u ntse u etsa merero le li-pods, u eketsa tlhahisoleseding ea tlhophiso ho li-deployments tsa hau, 'me li-pods tsa hau li qala ho sebelisa Istio. Setšoantšo se nolofalitsoeng se shebahala tjena:

Letoto la lipehelo ho Istio Service Mesh

Hona joale o ka fetola litlhophiso tsa Istio ka tatellano, mohlala, ho hlophisa ente ea phoso, tšehetso Ho tsamaisoa ha Canary kapa likarolo tse ling tsa Istio - le tsena tsohle ntle le ho ama khoutu ea lits'ebetso ka botsona. Ha re re u batla ho tsamaisa marang-rang kaofela ho tloha ho basebelisi ba moreki oa hau e moholo (Foo Corporation) ho ea ho mofuta o mocha oa sebaka sa marang-rang. Ho etsa sena, theha molao oa ho tsamaisa Istio o tla batla @foocorporation.com ho ID ea mosebelisi ebe o tsamaisa hape ka nepo. Bakeng sa basebelisi ba bang kaofela, ha ho letho le tla fetoha. Khabareng, u tla leka mofuta o mocha oa sebaka sa marang-rang ka bonolo. 'Me hlokomela hore ha ho hlokahale hore u kenyelle bahlahisi ho hang bakeng sa sena.

Hona na u tla tlameha ho lefa haholo bakeng sa eona?

Ho hang. Istio e potlakile ebile e ngotsoe ka hare Go 'me e fana ka chelete e nyane haholo. Ntle le moo, tahlehelo e ka bang teng tlhahisong ea marang-rang e fokotsoa ke keketseho ea tlhahiso ea bahlahisi. Bonyane ka khopolo: u se ke ua lebala hore nako ea bahlahisi e bohlokoa. Ha e le litšenyehelo tsa software, Istio ke software ea mohloli o bulehileng, kahoo o ka e fumana le ho e sebelisa mahala.

E tseba ka bowena

Sehlopha sa Boiphihlelo ba Red Hat Developer se thehile matsoho a tebileng tsamaiso ka Istio (ka Senyesemane). E sebetsa ho Linux, MacOS le Windows, 'me khoutu e fumaneha Java le Node.js.

Lithuto tse 10 tse sebetsanang le Istio

Block 1 - Bakeng sa ba qalang

Selelekela ho Istio
Metsotso ea 30
Ha re tloaelane le Service Mesh, ithute ho kenya Istio sehlopheng sa OpenShift Kubernetes.
Ho qala

Ho tsamaisa li-microservices ho Istio
Metsotso ea 30
Re sebelisa Istio ho tsamaisa li-microservices tse tharo ka Spring Boot le Vert.x.
Ho qala

Block 2 - boemo ba bohareng

Ho beha leihlo le ho ts'oara sebaka ho Istio
Metsotso ea 60
Re tla hlahloba lisebelisoa tsa Istio tsa ho beha leihlo, litekanyetso tsa tloaelo, le OpenTracing ka Prometheus le Grafana.
Ho qala

Tsela e bonolo ho Istio
Metsotso ea 60
Ithute mokhoa oa ho laola routing ho Istio u sebelisa melao e bonolo.
Ho qala

Melao e tsoetseng pele ea ho tsamaisa
Metsotso ea 60
Ha re shebeng tsela e bohlale ea Istio, taolo ea phihlello, ho leka-lekanya mojaro le ho fokotsa sekhahla.
Ho qala

Thibela 3 - mosebelisi ea tsoetseng pele

Ente ea Phoso ho Istio
Metsotso ea 60
Re ithuta ka maemo a ho se sebetse hantle lits'ebetsong tse phatlalalitsoeng, ho theha liphoso tsa HTTP le tieho ea marang-rang, le ho ithuta ho sebelisa boenjiniere ba pherekano ho khutlisetsa tikoloho.
Ho qala

Sekhahla sa Potoloho se Istio
Metsotso ea 30
Re kenya Siege bakeng sa libaka tsa tlhahlobo ea khatello ea maikutlo mme re ithuta ho etsa bonnete ba ho mamella liphoso tsa morao-rao ho sebelisa li-replays, sekhechana sa potoloho le ejection ea letamo.
Ho qala

Egress le Istio
Metsotso ea 10
Re sebelisa litsela tsa Egress ho theha melao bakeng sa tšebelisano ea lits'ebeletso tsa kahare le li-API le lits'ebeletso tsa kantle.
Ho qala

Istio le Kiali
Metsotso ea 15
Ithute ho sebelisa Kiali ho fumana kakaretso ea mesh ea lits'ebeletso le ho hlahloba kopo le phallo ea data.
Ho qala

TLS e kopanetsoeng Istio
Metsotso ea 15
Re theha Istio Gateway le VirtualService, ebe re ithuta TLS (mTLS) le litlhophiso tsa eona ka botlalo.
Ho qala

Thibela 3.1 - Deep Dive: Istio Service Mesh bakeng sa Microservices

Letoto la lipehelo ho Istio Service Mesh
Buka e bua ka eng:

  • Mesh ea litšebeletso ke eng?
  • Sistimi ea Istio le karolo ea eona ho meralo ea microservice.
  • Ho sebelisa Istio ho rarolla mathata a latelang:
    • Ho mamella liphoso;
    • Ho tsamaisa litsela;
    • Teko ea moferefere;
    • Polokeho;
    • Pokello ea telemetry e sebelisang mesaletsa, metrics le Grafana.

Ho jarolla buka

Letoto la lingoliloeng tse mabapi le meshes ea litšebeletso le Istio

E leke

Letoto lena la li-post ha le reretsoe ho fana ka botebo bo tebileng lefatšeng la Istio. Re mpa re batla ho u tsebisa ka taba ena 'me mohlomong re u susumelletse hore u leke Istio bakeng sa hau. E lokolohile ka botlalo ho e etsa, 'me Red Hat e fana ka lisebelisoa tsohle tseo u li hlokang ho qala ka OpenShift, Kubernetes, lijana tsa Linux, le Istio, ho kenyelletsa: Red Hat Developer OpenShift Container Platform, tataiso ea rona ho Istio le lisebelisoa tse ling ho rona microsite ho Service Mesh. Se ke oa lieha, qala kajeno!

Melao ea tsamaiso ea Istio: ho tsamaisa likopo tsa litšebeletso moo li hlokang ho ea teng

openshift и Kubernetes etsa mosebetsi o motle ka ho fetisisa microservices fetisetsoa ho li-pods tse hlokahalang. Lena ke le leng la mabaka a ho ba teng ha Kubernetes - ho tsamaisa le ho leka-lekanya mojaro. Empa ho thoe'ng haeba u hloka litsela tse poteletseng le tse rarahaneng? Ka mohlala, ho sebelisa ka nako e le 'ngoe liphetolelo tse peli tsa microservice. Melao ea Istio Route e ka thusa joang moo?

Melao ea litsela ke melao e hlileng e khethollang khetho ea tsela. Ho sa tsotelehe boemo ba ho rarahana ha sistimi, molao-motheo o akaretsang oa ts'ebetso ea melao ena o ntse o le bonolo: likopo li tsamaisoa ho ipapisitsoe le li-parameter tse itseng le boleng ba lihlooho tsa HTTP.
Ha re shebeng mehlala:

Kubernetes default: trivial "50/50"

Mohlala oa rona, re tla bonts'a mokhoa oa ho sebelisa mefuta e 'meli ea microservice ka nako e le ngoe ho OpenShift, a re ba bitseng v1 le v2. Phetolelo e 'ngoe le e' ngoe e sebetsa ka Kubernetes pod ea eona, 'me ka nako e sa lekanyetsoang e tsamaea ka tsela e leka-lekaneng ea li-robin routing. Pod e 'ngoe le e' ngoe e fumana karolo ea eona ea likopo ho ipapisitsoe le palo ea maemo a eona a microservice, ka mantsoe a mang, replicas. Istio e u lumella ho fetola tekanyo ena ka letsoho.

Ha re re re kentse mefuta e 'meli ea ts'ebeletso ea rona ea likhothaletso ho OpenShift, khothaletso-v1 le khothaletso-v2.
Ho sa feiga. Setšoantšo sa 1 se bontša hore ha tšebeletso e 'ngoe le e' ngoe e emetsoe ketsahalong e le 'ngoe, e kopa ho fapanyetsana ka tsela e tšoanang pakeng tsa bona: 1-2-1-2-... Ena ke tsela eo Kubernetes routing e sebetsang ka eona ka ho sa feleng:

Letoto la lipehelo ho Istio Service Mesh

Kabo e boima lipakeng tsa liphetolelo

Ho feiga. Setšoantšo sa 2 se bontša se etsahalang haeba u eketsa palo ea li-replicas tsa tšebeletso ea v2 ho tloha ho e 'ngoe ho ea ho tse peli (sena se etsoa ka tekanyo ea oc -replicas = 2 deployment / recommendation-v2 taelo). Joalokaha u bona, likopo lipakeng tsa v1 le v2 li se li arotsoe ka karolelano e le 'ngoe ho isa ho tse tharo: 1-2-2-1-2-2-…:

Letoto la lipehelo ho Istio Service Mesh

Hlokomoloha mofuta o sebelisa Istio

Istio e etsa hore ho be bonolo ho fetola kabo ea likopo ka tsela eo re e hlokang. Mohlala, romella sephethephethe kaofela ho khothaletso-v1 u sebelisa faele e latelang ea Istio yaml:

Letoto la lipehelo ho Istio Service Mesh

Mona o hloka ho ela hloko sena: li-pods li khethoa ho ea ka li-labels. Mohlala oa rona o sebelisa label v1. "Boima: 100" parameter e bolela hore 100% ea sephethephethe se tla fetisetsoa litsing tsohle tsa tšebeletso tse nang le letšoao la v1.

Kabo ea litaelo lipakeng tsa mefuta (Canary Deployment)

Ka mor'a moo, u sebelisa parameter ea boima, u ka lebisa sephethephethe ho li-pods ka bobeli, u hlokomoloha palo ea liketsahalo tsa microservice tse sebetsang ho e 'ngoe le e' ngoe ea tsona. Mohlala, mona re lebisa 90% ea sephethephethe ho v1 le 10% ho v2:

Letoto la lipehelo ho Istio Service Mesh

Litsela tse arohaneng bakeng sa basebelisi ba mehala

Qetellong, re tla bonts'a mokhoa oa ho qobella sephethephethe sa basebelisi ba mehala hore se fetisetsoe ho ts'ebeletso ea v2, le motho e mong le e mong ho v1. Ho etsa sena, re sebelisa lipolelo tse tloaelehileng ho hlahloba boleng ba moemeli oa mosebedisi sehloohong sa kopo:

Letoto la lipehelo ho Istio Service Mesh

Joale ke nako ea hau

Mohlala o nang le lipolelo tse tloaelehileng bakeng sa lihlooho tsa ho arola o lokela ho u susumelletsa ho fumana mekhoa ea hau ea ho sebelisa melao ea tsamaiso ea Istio. Ho feta moo, menyetla e teng mona e pharaletse haholo, kaha boleng ba lihlooho bo ka thehoa khoutu ea mohloli oa kopo.

Mme hopola hore Ops, eseng Dev

Ntho e 'ngoe le e' ngoe eo re e bontšitseng mehlaleng e ka holimo e etsoa ntle le liphetoho tse nyenyane ho khoutu ea mohloli, hantle, ntle le linyeoe tseo ha ho hlokahala ho hlahisa lihlooho tse khethehileng tsa kopo. Istio e tla ba molemo ka bobeli ho bahlahisi, bao, ka mohlala, ba tla khona ho e sebelisa sethaleng sa teko, le ho litsebi tsa ts'ebetso ea mekhoa ea IT, eo e tla thusa haholo tlhahiso.

Kahoo, a re phete leitmotif ea letoto lena la li-post: ha ho hlokahale hore u fetole letho khoutu ea hau. Ha ho na tlhoko ea ho theha litšoantšo tse ncha kapa ho qala lijana tse ncha. Tsena tsohle li etsoa ka ntle ho khoutu.

Sebelisa monahano oa hau

Ak'u nahane feela ka menyetla ea ho hlahloba lihlooho ho sebelisa lipolelo tse tloaelehileng. U batla ho fetisetsa moreki oa hau e moholo ho mofuta o ikhethileng oa hau microservices? Habonolo! U hloka mofuta o fapaneng bakeng sa sebatli sa Chrome? Ha ho bothata! U ka tsamaisa sephethephethe ho latela hoo e batlang e le tšobotsi efe kapa efe.

E leke

Ho bala ka Istio, Kubernetes le OpenShift ke ntho e le 'ngoe, empa ke hobane'ng ha u sa ame ntho e' ngoe le e 'ngoe ka bouena? Sehlopha Lenaneo la Moetsi oa Red Hat e lokiselitse tataiso e qaqileng (ka Senyesemane) e tla u thusa ho tseba mahlale ana kapele kamoo ho ka khonehang. Bukana e boetse ke mohloli o bulehileng oa 100%, kahoo e kenngoa sebakeng sa sechaba. Faele e sebetsa ho macOS, Linux le Windows, mme khoutu ea mohloli e fumaneha ho Java le node.js liphetolelo (liphetolelo tsa lipuo tse ling tse tlang haufinyane). Bula feela sebaka sa polokelo ea git ho sebatli sa hau Moemeli oa Moqapi oa Red Hat.

Ka poso e latelang: re rarolla mathata ka bokhabane

Kajeno u bone seo melao ea tsamaiso ea Istio e ka se etsang. Joale nahana ka ntho e ts'oanang, empa feela mabapi le ho sebetsana le liphoso. Sena ke sona seo re tla bua ka sona posong e latelang.

Source: www.habr.com

Eketsa ka tlhaloso