He raupapa o nga panui mo Istio Service Mesh

Kei te timata matou i te raupapa o nga pou e whakaatu ana i etahi o nga kaha maha o te Istio Service Mesh ka honoa me Red Hat OpenShift me Kubernetes.

He raupapa o nga panui mo Istio Service Mesh

Te wahanga tuatahi, i tenei ra:

  • Me whakamaaramahia te ariā o nga ipu waka taha Kubernetes me te hanga i te kaupapa o tenei raupapa o nga panui: "Kaore koe e hiahia ki te whakarereke i tetahi mea i roto i to waehere".
  • Me whakaatu mai te mea taketake o Istio - nga ture ararere. Ko etahi atu ahuatanga o Istio kei runga i a raatau, na te mea ko nga ture ka taea e koe te arahi i nga waka ki nga ratonga miihini, ma te whakamahi i nga konae YAML ki waho o te waehere ratonga. Kei te whai whakaaro ano matou ki te kaupapa whakangaonga Canary Deployment. He bonus o te Tau Hou – 10 nga akoranga tauwhitiwhiti i runga i Istio


Ko te wahanga tuarua, ka haere mai, ka korero ki a koe:

  • Me pehea a Istio e whakamahi ana i te Whakawhanawhana Roopu i roto i te whakakotahitanga me te Kaiwhati Arahiko ka whakaatu me pehea e taea ai e Istio te tango i tetahi pona kua mate, he ngoikore ranei te mahi mai i te ara iahiko taurite.
  • Ka titiro ano tatou ki te kaupapa Circuit Breaker mai i te panui tuatahi kia kite me pehea te whakamahi a Istio ki konei. Ma matou e whakaatu ki a koe me pehea te arahi i nga waka me te hapai i nga hapa whatunga ma te whakamahi i nga konae whirihoranga YAML me nga whakahau mutunga kaore he huringa iti o te waehere ratonga.

Wāhanga tuatoru:

  • He korero e pa ana ki te whai me te aro turuki, kua oti te whakauru ki roto, ngawari ranei te taapiri atu ki a Istio. Ma matou e whakaatu ki a koe me pehea te whakamahi taputapu penei i a Prometheus, Jaeger, me Grafana me te taapiri OpenShift scaling ki te whakahaere ngawari i nga hoahoanga microservice.
  • Ka neke mai i te aro turuki me te whakahaere i nga hapa ki te whakauru ki roto i te punaha. I etahi atu kupu, ka ako tatou me pehea te mahi i te werohanga he me te kore e whakarereke i te waehere puna, he mea tino nui mai i te tirohanga whakamatautau - na te mea ka huri koe i te waehere ake mo tenei, ka tupono pea te whakauru i etahi atu hapa.

Ka mutu, i te panui whakamutunga mo Istio Service Mesh:

  • Me haere ki te taha pouri. Ko te mea tika, ka ako tatou ki te whakamahi i te kaupapa Whakarewa pouri, ka tukuna te waehere me te whakamatau tika ki nga raraunga whakaputa, engari kaore e pa ki te mahi o te punaha i tetahi huarahi. Koinei te waahi o te kaha o Istio ki te wehe i nga waka. A ko te kaha ki te whakamatautau i nga raraunga whakaputa ora me te kore e pa ki te whakahaere o te punaha whawhai i tetahi huarahi ko te tikanga tino pono o te manatoko.
  • Ko te hanga i runga i te Whakarewa pouri, ka whakaatu matou ki a koe me pehea te whakamahi i te tauira Canary Deployment ki te whakaiti i te tupono me te ngawari ki te whakauru waehere hou ki roto i nga mahi. Ko Canary Deployment ake he tawhiti mai i te mea hou, engari ka taea e Istio te whakatinana i tenei kaupapa me nga konae YAML ngawari noa.
  • Ka mutu, ka whakaatu matou ki a koe me pehea te whakamahi i a Istio Egress ki te whai waahi ki nga ratonga ki te hunga kei waho o o roopu kia taea ai te whakamahi i nga kaha o Istio i te wa e mahi ana me te Ipurangi.

Na, ka haere tatou...

Nga taputapu aroturuki me te whakahaere - nga mea katoa e hiahia ana koe ki te whakarite i nga ratonga moroiti i roto i te miihini ratonga mata ratonga.

He aha te Istio Service Mesh

Ka whakatinanahia e te mata ratonga nga mahi penei i te aro turuki i nga waka, te mana uru, te kitenga, te haumarutanga, te aro ki te he me etahi atu mea whai hua mo te roopu ratonga. Ka taea e Istio te mahi i enei mea katoa kaore he whakarereketanga iti ki te waehere o nga ratonga. He aha te mea ngaro o te makutu? Ka piri a Istio i tana ake takawaenga ki ia ratonga i roto i te ahua o te ipu taha (sidecar he motopaika sidecar), muri iho ka haere nga waka katoa ki tenei ratonga i roto i te takawaenga, e arahina ana e nga kaupapa here kua tohua, ka whakatau me pehea, ahea me tenei hokohoko. me tae rawa ki te ratonga. Ka taea hoki e Istio te whakatinana i nga tikanga DevOps matatau penei i te tuku canary, te ara iahiko, te werohanga he me te maha atu.

Me pehea te mahi a Istio me nga ipu me nga Kubernetes

Ko te Istio service mesh he whakatinanatanga taha o nga mea katoa e hiahiatia ana hei hanga me te whakahaere i nga ratonga moroiti: te aro turuki, te tirotiro, nga wehenga ara iahiko, te ararere, te whakatau i te uta, te werohia te he, te ngana ano, te taima, te whakaata, te mana uru, te whakaiti reiti me te maha atu. A ahakoa i tenei ra he maha nga whare pukapuka ki te whakatinana tika i enei mahi i roto i te waehere, me Istio ka taea e koe nga mea katoa me te kore e whakarereke i tetahi mea i roto i to waehere.

E ai ki te tauira sidecar, ka rere a Istio i roto i te ipu Linux, kei roto i te kotahi Kubernetes-pod me te ratonga whakahaere me te wero me te tango i nga mahi me nga korero e ai ki te whirihoranga kua hoatu. Ka whakanuia e matou ko to ake whirihoranga tenei, kei waho o to waehere. Na reira, ka nui ake te ngawari me te poto o te waehere.

Ko te mea nui ko te waahanga whakahaere o nga microservices karekau e hono atu ki te waehere ake, ko te tikanga ka taea te whakawhiti i a raatau mahi ki nga tohunga IT. Ae, he aha te kaiwhakawhanake e kawe mo nga wehenga ara iahiko me te werohanga he? Tauhohe, ae, engari tukatuka me te hanga? Mena ka tangohia e koe enei mea katoa mai i te waehere, ka taea e nga kaihōtaka te aro nui ki te mahi tono. A ko te waehere ake ka poto ake, ka ngawari ake.

Mata ratonga

Ko Istio, e whakatinana ana i nga mahi mo te whakahaere microservices i waho o to raatau waehere, ko te ariā o te Mesh Ratonga. I etahi atu kupu, he roopu ruruku o te kotahi, neke atu ranei o nga waahanga-rua e hanga ana i nga mahi whatunga.

Me pehea te mahi a Istio me nga ratonga miihini

Koinei te ahua o te mahi o nga ipu tahataha i te taha Kubernetes и Huringa iti tirohanga a te manu: whakarewahia he tauira o te Minishift, hanga he kaupapa mo Istio (kia kiia ko “istio-system”), tāuta me te whakahaere i nga waahanga katoa e pa ana ki a Istio. Na, i a koe e hanga ana i nga kaupapa me nga poti, ka taapirihia e koe nga korero whirihoranga ki o tukunga, ka tiimata o poti ki te whakamahi i a Istio. He penei te ahua o te hoahoa whakangawari:

He raupapa o nga panui mo Istio Service Mesh

Inaianei ka taea e koe te whakarereke i nga tautuhinga Istio i roto i te raupapa, hei tauira, ki te whakarite i te werohanga he, tautoko Te Tukunga Canary me etahi atu waahanga Istio - me enei mea katoa me te kore e pa ki te waehere o nga tono. Me kii e hiahia ana koe ki te anga i nga hokohoko tukutuku katoa mai i nga kaiwhakamahi o to kaihoko nui rawa atu (Foo Corporation) ki tetahi putanga hou o te pae. Ki te mahi i tenei, hanga noa he ture ararere Istio ka rapu mo @foocorporation.com i roto i te ID kaiwhakamahi ka anga ano. Mo nga kaiwhakamahi katoa, kaore he mea e rereke. I tenei wa, ka ata whakamatau koe i te putanga hou o te waahi. A kia mahara kaore koe e hiahia ki te whakauru i nga kaiwhakawhanake mo tenei.

A ka utu nui koe mo tena?

Kaore rawa. He tere rawa a Istio ka tuhia ki roto Go me te hanga i te iti rawa o runga. I tua atu, ko te ngaronga pea i roto i te hua ipurangi ka whakahekehia e te pikinga o te hua o te kaiwhakawhanake. I te iti rawa i roto i te ariā: kaua e wareware he mea nui te wa o nga kaihanga. Mo nga utu rorohiko, ko Istio he punaha puna tuwhera, na reira ka taea e koe te tiki me te whakamahi mo te kore utu.

Whakaakohia e koe

Kua whakawhanakehia e te Rōpū Wheako Whakawhanake Hat Whero he ringaringa hohonu rangatira na Istio (i te reo Ingarihi). Ka rere i runga i Linux, MacOS me Windows, a kei te waatea te waehere i Java me Node.js.

10 nga akoranga tauwhitiwhiti mo Istio

Poraka 1 - Mo Nga Kaimatau

Introduction to Istio
Ngā meneti 30
Kia mohio tatou ki te Service Mesh, ako me pehea te whakauru i a Istio ki roto i te roopu OpenShift Kubernetes.
E tito

Te tuku ratonga moroiti ki Istio
Ngā meneti 30
Ka whakamahia e matou a Istio ki te tuku i nga ratonga miihini e toru me te Spring Boot me te Vert.x.
E tito

Poraka 2 – taumata takawaenga

Te aroturuki me te whai i Istio
Ngā meneti 60
Ka tuhurahia e matou nga taputapu tirotiro a Istio, inenga ritenga, me te OpenTracing ma te Prometheus me Grafana.
E tito

Te ararere ngawari ki Istio
Ngā meneti 60
Akohia me pehea te whakahaere ararere i Istio ma te whakamahi i nga ture ngawari.
E tito

Nga ture ararere matatau
Ngā meneti 60
Kia titiro tatou ki te ararere atamai a Istio, te mana uru, te whakataurite kawenga me te whakaiti reiti.
E tito

Poraka 3 – kaiwhakamahi matatau

Werohanga Hapa i Istio
Ngā meneti 60
Ka ako matou i nga ahuatanga koretake o te whakahaere i roto i nga tono toha, te hanga hapa HTTP me te whakaroa whatunga, me te ako ki te whakamahi i nga miihini hepohepo hei whakaora i te taiao.
E tito

Kaiwhati iahiko i Istio
Ngā meneti 30
Ka whakauruhia e matou a Siege mo nga waahi whakamatautau ahotea me te ako me pehea te whakapumau i te hee o te tuara ma te whakamahi i nga whakaari, te ara iahiko me te tuku poka wai.
E tito

Egress me Istio
Ngā meneti 10
Ka whakamahia e matou nga huarahi Egress ki te hanga ture mo te taunekeneke o nga ratonga o roto me nga API me nga ratonga o waho.
E tito

Istio and Kiali
Ngā meneti 15
Ako ki te whakamahi i a Kiali ki te tiki tirohanga whanui mo te mahanga ratonga me te tirotiro i nga tono me nga rerenga raraunga.
E tito

TLS Mutual i Istio
Ngā meneti 15
Ka hangaia e matou a Istio Gateway me VirtualService, katahi ka akohia e matou nga TLS (mTLS) me ona tautuhinga.
E tito

Poraka 3.1 - Ruku Hohonu: Istio Service Mesh mo Microservices

He raupapa o nga panui mo Istio Service Mesh
He aha te pukapuka mo:

  • He aha te mata ratonga?
  • Ko te punaha Istio me tana mahi i roto i te hoahoanga microservice.
  • Ma te whakamahi i te Istio hei whakaoti rapanga e whai ake nei:
    • Whakaaetanga he;
    • Ararere;
    • Te whakamatautau hepohepo;
    • Te Haumaru;
    • Te kohinga waea ma te whakamahi i nga tohu, ine me te Grafana.

Tikiake pukapuka

He raupapa o nga tuhinga mo nga maa ratonga me Istio

Whakamātauria koe

Ko tenei raupapa o nga panui ehara i te mea kia ruku hohonu ki te ao o Istio. Kei te hiahia noa matou ki te whakamohio ki a koe ki te ariā me te whakatenatena pea koe ki te whakamatau i a Istio maau. He tino kore utu ki te mahi, a ka whakaratohia e Red Hat nga taputapu katoa e hiahia ana koe ki te timata me OpenShift, Kubernetes, ipu Linux, me Istio, tae atu ki: Kaiwhakawhanake Potae Whero OpenShift Container Platform, to matou kaiarahi ki Istio me etahi atu rauemi kei runga i a maatau moroiti i runga i te Service Mesh. Kaua e whakaroa, timata i tenei ra!

Nga ture ararere Istio: te arahi i nga tono ratonga ki te waahi me haere

hūnuku и Kubernetes mahi i te mahi pai ki te whakatutuki ratonga moroiti ka tukuna atu ki nga paera e hiahiatia ana. Koinei tetahi o nga take i noho mai ai a Kubernetes - te ararere me te whakataurite kawenga. Engari me pehea e hiahia ana koe ki nga huarahi maamaa me te maamaa? Hei tauira, ki te whakamahi i nga putanga e rua o te microservice. Me pehea te awhina a Istio Route Rules i konei?

Ko nga ture ararere ko nga ture e tino whakatau ana i te huarahi whiriwhiri. Ahakoa te taumata o te uaua o te punaha, he maamaa tonu te tikanga whakahaere o enei ture: ka tukuna nga tono i runga i etahi tawhā me nga uara pane pane HTTP.
Kia titiro tatou ki nga tauira:

Kubernetes taunoa: iti "50/50"

I roto i ta maatau tauira, ka whakaatu maatau me pehea te whakamahi i nga waahanga e rua o te microservice i OpenShift, me kii tatou ko v1 me v2. Ko ia putanga ka rere ki roto i tana ake Kubernetes pod, a, na te taunoa, he riterite te rere o te ararere a tawhio noa. Ka whiwhi ia pod i tana wahanga o nga tono i runga i te maha o ana tauira moroiti, ara, he tauira. Ka taea e Istio te huri i tenei toenga ma te ringa.

Me kii i tukuna e matou nga waahanga e rua o ta matou ratonga taunakitanga i runga i OpenShift, tūtohutanga-v1 me te taunakitanga-v2.
Kei te Fig. Ko te Whakaaturanga 1 e whakaatu ana i te wa e whakaatuhia ana ia ratonga i roto i te waa kotahi, ka rereke nga tono i waenga i a raatau: 1-2-1-2-... Koinei te mahi a te ararere Kubernetes ma te taunoa:

He raupapa o nga panui mo Istio Service Mesh

Te tohatoha i waenga i nga putanga

Kei te Fig. E whakaatu ana te Whakaahua 2 he aha te mea ka whakanuia e koe te maha o nga tauira ratonga v2 mai i te kotahi ki te rua (ka mahia tenei ma te tauine oc —replicas=2 deployment/recommendation-v2 command). Kei te kite koe, ko nga tono i waenga i te v1 me te v2 kua wehea inaianei ki te tauwehenga kotahi ki te toru: 1-2-2-1-2-2-…:

He raupapa o nga panui mo Istio Service Mesh

Waiho te putanga ma te whakamahi Istio

Ka ngawari te whakarereke a Istio i te tohatoha o nga tono kia rite ki ta maatau e hiahia ana. Hei tauira, tukuna nga waka katoa ki te taunakitanga-v1 ma te whakamahi i te konae Istio yaml e whai ake nei:

He raupapa o nga panui mo Istio Service Mesh

I konei me whai whakaaro koe ki tenei: ka tohua nga peera kia rite ki nga tapanga. Ka whakamahia e ta maatau tauira te tapanga v1. Ko te tawhā "taimaha: 100" ko te tikanga ko te 100% o nga waka ka tukuna ki nga putunga ratonga katoa kei a raatau te tapanga v1.

Te tohatoha tohutohu i waenga i nga putanga (Te Whakataunga Canary)

I muri mai, ma te whakamahi i te tawhā taumaha, ka taea e koe te arahi i nga waka ki nga peera e rua, me te kore e aro ki te maha o nga waahanga microservice e rere ana i ia waahanga. Hei tauira, i konei ka tukuna e matou te 90% o nga waka ki v1 me te 10% ki v2:

He raupapa o nga panui mo Istio Service Mesh

Ararere wehe mo nga kaiwhakamahi pūkoro

Hei whakamutunga, ka whakaatu matou me pehea te akiaki i nga waka kaiwhakamahi pūkoro kia tukuna ki te ratonga v2, me era atu ki te v1. Hei mahi i tenei, ka whakamahia e matou nga korero rite tonu hei tātari i te uara kaihoko-kaiwhakamahi i te pane tono:

He raupapa o nga panui mo Istio Service Mesh

Inaianei ko to wa

Ko te tauira me nga kii auau mo te panui pane ka akiaki koe ki te rapu i au ake whakamahinga o nga ture ararere Istio. I tua atu, he tino whanui nga mea ka taea, na te mea ka taea te hanga i nga uara pane ki te waehere puna tono.

Kia mahara ko Ops, kaua ko Dev

Ko nga mea katoa i whakaatuhia e matou i roto i nga tauira i runga ake nei ka mahia kaore he whakarereketanga iti o te waehere puna, pai, engari mo nga keehi e tika ana ki te whakaputa pane tono motuhake. Ka whai hua a Istio ki nga kaiwhakawhanake, hei tauira, ka kaha ki te whakamahi i te waa whakamatautau, me nga tohunga ki te whakahaere i nga punaha IT, ma ratou e awhina nui ki te whakaputa.

Na, me whakahoki ano te kaupapa o tenei raupapa o nga panui: e kore koe e hiahia ki te huri i tetahi mea i roto i to koutou waehere. Kaore he take ki te hanga whakaahua hou, ki te whakarewa ranei i nga ipu hou. Ka whakatinanahia tenei katoa i waho o te waehere.

Whakamahia to whakaaro

A feruri noa i te taea o te tātari pane mā te whakamahi kīanga auau. Kei te hiahia koe ki te huri i to kaihoko nui ki tetahi putanga motuhake o to ratonga moroiti? Ngawari! Kei te hiahia tetahi putanga motuhake mo te tirotiro Chrome? Kaore he raruraru! Ka taea e koe te ara waka i runga i nga ahuatanga katoa.

Whakamātauria koe

Ko te panui mo Istio, Kubernetes me OpenShift tetahi mea, engari he aha koe kaore koe e pa ki nga mea katoa? Kapa Kaupapa Whakawhanake Hat Whero kua whakaritea he aratohu taipitopito (i te reo Ingarihi) hei awhina i a koe ki te mohio wawe ki enei hangarau. Ko te pukapuka he 100% tuwhera puna, no reira ka whakairihia ki te rohe whanui. Ka mahi te konae ki runga MacOS, Linux me Windows, kei te waatea te waehere puna ki Java me nga putanga node.js (kei te tata mai nga putanga ki etahi atu reo). Tuwhera noa te putunga git e rite ana ki to kaitirotiro Whakaaturanga Kaiwhakawhanake Hat Whero.

I roto i te panui e whai ake nei: ka whakatauhia e maatau nga raru

I tenei ra i kite koe i nga mahi ka taea e nga ture ararere Istio. Inaianei whakaarohia te mea ano, engari mo te mahi hapa anake. Koinei tonu te korero ka korerohia i roto i te panui e whai ake nei.

Source: will.com

Tāpiri i te kōrero