Te Whakarewa pouri ki Istio: Nga Ratonga ngaro

"Ko te Danger taku ingoa waenga," ko Austin Powers, he tangata ngaro o te ao, te korero. Engari ko nga mea e tino whakanuia ana e nga rangatira nui me nga ratonga matauranga kaore i te pai mo nga ratonga rorohiko, he pai ake te hoha i te raru.

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro

A ko Istio, me OpenShift me Kubernetes, ka tino hoha, ka matapaetia te tuku ratonga moroiti - he rawe. Ka korero tatou mo tenei me te maha atu i te tuawha me te pou whakamutunga o te raupapa Istio.

Ka tika te hoha

I roto i to maatau, ka puta te hoha i te waahanga whakamutunga, ko nga mea e toe ana ko te noho ki te matakitaki i te mahi. Engari mo tenei ka hiahia koe ki te whirihora i nga mea katoa i te tuatahi, a he maha nga mea whakamere e tatari ana ki a koe i konei.

Ina tukuna he putanga hou o to rorohiko, he pai ki te whai whakaaro ki nga whiringa katoa hei whakaiti i nga tupono. Ko te rere whakarara he huarahi tino kaha me te whakamatau ki te whakamatautau, a ka taea e Istio te whakamahi i te "ratonga huna" (he putanga huna o to microservice) ki te mahi i tenei me te kore e pokanoa ki te punaha whakaputa. He kupu motuhake ano mo tenei - "Whakarewa pouri", ka whakahohehia e tetahi mahi me te ingoa tutei rite "whakaata waka".

Kia mahara ko te rerenga tuatahi o te kowae o mua e whakamahi ana i te kupu "tuku" kaua ki te "tuku". Me tino taea e koe te tuku-a, o te akoranga, te whakamahi-to ratonga miihini i nga wa katoa e hiahia ana koe. Me kaha tenei ratonga ki te whiwhi me te whakahaere i nga waka, te whakaputa hua, me te tuhi hoki ki nga raarangi me te aro turuki. Engari i te wa ano, ko tenei ratonga ake kaore e tukuna ki te mahi. Ko te tuku me te tuku i nga rorohiko kaore i te rite tonu. Ka taea e koe te tuku i nga wa katoa e hiahia ana koe, engari me tuku noa ina rite koe.

He mea whakamere te whakarite hoha

Tirohia te ture ararere Istio e whai ake nei, e arai ana i nga tono HTTP katoa ki te taunakitanga microservice v1 (nga tauira katoa i tangohia mai i Istio Tutorial GitHub repo), i te wa e whakaata ana i a raatau ki te tohutohu v2 microservice:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Kia tupato ki te tapanga mirror: kei raro o te mata - koinei te whakatakoto whakaata waka. Ae, he maamaa noa!

Ko te hua o tenei ture ko to punaha whakangao (v1) ka whakahaere tonu i nga tono taumai, engari ko nga tono ano ka whakaatahia ki te v2, ara, ka haere tonu o raatau taarua ki reira. Ma tenei ara, ka taea e koe te whakamatautau i te v2 i roto i nga ahuatanga tuuturu - i runga i nga raraunga tuuturu me nga waka - me te kore e pokanoa ki nga mahi o te punaha whakaputa. Na tenei ka hoha te whakahaere whakamatautau? Ae, tino. Engari he mea whakamiharo te mahi.

Me tapiri atu he whakaari

Kia mahara kei roto i te waehere v2 he mea tika ki te whakarato mo nga ahuatanga ka puta mai nga tono taumai ki nga huringa raraunga. Ko nga tono ano he whakaata ngawari me te marama, engari ko te kowhiringa o te tikanga tukatuka i roto i te whakamatautau kei a koe tonu - a he ahua awangawanga tenei.

Kia tuaruatia ano tetahi kaupapa nui

Ko te whakarewanga ngaro me te whakaata waka (Whakarewa pouri/Whakaata Tono) ka taea te mahi me te kore e pa ki te waehere.

Kai hei whakaaro

Ka pewhea mena ka tukuna e te waahi e whakaatahia ana nga tono kaore etahi o aua tono ki v1, engari ki v2? Hei tauira, kotahi paiheneti o nga tono katoa, ko nga tono anake mai i tetahi roopu kaiwhakamahi. Na, kua titiro koe ki te mahi a v2, whakawhiti haere nga tono katoa ki te putanga hou. He rereke ranei, whakahokia nga mea katoa ki te v1 mena ka he tetahi mea ki te v2. Ki taku whakaaro ko Canary Deployment te ingoa. ka hoki ki te maina, a mehemea no Ruhia, tera pea kei roto he korero mo ngeru), a inaianei ka titiro tatou ki tenei i roto i nga taipitopito.

Te Whakatairanga Canary i Istio: te whakangawari i te tono

Kia tupato me te ata haere

He tino ngawari te ngako o te tauira whakaurunga Canary Deployment: ka whakarewahia e koe he putanga hou o to rorohiko (i ta matou keehi, he microservice), ka uru tuatahi koe ki tetahi roopu iti o nga kaiwhakamahi. Mena ka pai nga mea katoa, ka whakanuia e koe tenei roopu kia timata ra ano te mahi o te putanga hou, ki te kore ranei - ka heke nga kaiwhakamahi katoa ki reira. Ma te whai whakaaro me te whakauru haere i tetahi putanga hou me te huri i nga kaiwhakamahi ki a ia i runga i te mana whakahaere, ka taea e koe te whakaiti i nga tupono me te whakanui i nga urupare.

Ae ra, ka whakaitihia e Istio te Whakaaetanga Canary ma te tuku i nga whiringa pai mo te huarahi tono mohio. Ae, ka taea enei mea katoa me te kore e pa ki to waehere puna.

Te tātari i te pūtirotiro

Ko tetahi o nga paearu ararere ngawari noa ko te hurihanga-a-tirotiro. Me kii e hiahia ana koe ki nga tono mai i nga kaitirotiro Safari kia haere ki te v2. Anei te mahi:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Me hoatu tenei ture ararere ka whakamahi i te tono curl Ka whakatairitehia e matou nga tono tuturu ki te microservice i roto i te kopikopiko. Ka kite koe i te whakaahua, ka haere katoa ki te v1:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Kei hea te waka i runga i te v2? I te mea i roto i ta maatau tauira ko nga tono katoa i ahu mai i a maatau ake raina whakahau, kaore noa. Engari kia tupato ki nga rarangi o raro o te mata i runga ake nei: he urupare tenei mo te mea i tukuna e matou he tono mai i te kaitirotiro Safari, na tenei ano i whakaputa:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro

Mana mutunga kore

Kua tuhia e matou ko nga korero auau e whakarato ana i nga kaha tino kaha mo nga tono ararere. Tirohia te tauira e whai ake nei (ki ta matou whakaaro ka mohio koe he aha tana mahi):

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
I tenei wa ka mohio pea koe he aha nga korero ka taea.

Mahi Maamaa

Ko te ararere atamai, ina koa ki te tukatuka i nga pane putea ma te whakamahi i nga korero auau, ka taea e koe te arahi i nga waka ki te huarahi e hiahia ana koe. Na tenei ka tino ngawari te whakatinanatanga o te waehere hou - he maamaa, kaore e hiahiatia te whakarereke i te waehere ake, a, ki te tika, ka taea te whakahoki wawe i nga mea katoa.

Hiahia?

Kei te pirangi koe ki te whakamatau me Istio, Kubernetes me OpenShift i runga i to rorohiko? Kapa Rōpū Kaiwhakawhanake Hat Whero whakaritea he pai pukapuka tuhi i runga i tenei kaupapa me te whakaputa i nga konae katoa e hono ana ki te whanui. Na haere i mua, kaua hoki e whakakahore ki a koe tetahi mea.

Istio Egress: puta atu ma te toa maharahara

Ma te whakamahi i a Istio me te Red Hat OpenShift me nga Kubernetes, ka taea e koe te whakangawari ake i to oranga me nga ratonga miihini. Kei te huna te mata o te ratonga a Istio ki roto i nga kurupae Kubernetes, ka haere to waehere (te nuinga) mokemoke. Te mahinga, te ngawari o te whakarereke, te rapu, me etahi atu - he ngawari enei katoa ki te whakamahi na te whakamahi i nga ipu taha. Engari ka pehea mena me korero to ratonga miihini ki etahi atu ratonga kei waho o to punaha OpenShift-Kubernetes?

Koinei te waahi ka tae mai a Istio Egress ki te whakaora. I roto i te poto, ka taea e koe te uru atu ki nga rauemi (panui: "ratonga") ehara i te waahanga o to punaha o nga pene Kubernetes. Ki te kore koe e mahi i etahi atu whirihoranga, na i roto i te taiao Istio Egress ka tukuna nga waka i roto noa i te kahui putunga me waenga i nga tautau i runga i nga tepu IP o roto. A he pai te mahi o taua pupation mena kaore koe e hiahia ki te uru atu ki nga ratonga mai i waho.

Ka taea e Egress te karo i nga ripanga IP o runga ake nei, i runga i nga ture Egress, i runga ranei i te whānuitanga o nga wahitau IP.

Me kii he kaupapa Java kei te tono tono GET ki httpbin.org/headers.

(Ko te httpbin.org he rauemi watea mo te whakamatautau i nga tono ratonga puta.)

Mena ka uru koe ki te raina whakahau curl http://httpbin.org/headers, ka kite tatou i nga mea e whai ake nei:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Ka taea ranei e koe te whakatuwhera i taua wahitau i roto i te tirotiro:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Ka kite koe, ko te ratonga kei reira ka whakahoki noa i nga pane kua tukuna ki a ia.

Kei te whakakapi tatou i nga kawemai i te upoko

Inaianei me tango te waehere Java o tenei ratonga, ki waho o ta maatau punaha, ka whakahaere i a maatau ake, kei hea, mahara, kua whakauruhia a Istio. (Ka taea e koe tenei ma te whakapiri atu to tatou akoranga Istio.) Ka oti te hanga i te ahua e tika ana, ka whakarewahia i runga i te papaaho OpenShift, ka karangahia e matou tenei ratonga me te whakahau curl egresshttpbin-istioegress.$(minishift ip).nip.io, muri iho ka kite tatou i tenei i runga i te mata:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Aue, i aha? I mahi noa nga mea katoa. He aha te tikanga kaore i kitea? I mahia noa e matou mo ia curl.

Te whakawhānui i nga ripanga IP ki te Ipurangi katoa

Me whakahee (me mihi ranei) a Istio mo tenei. I muri i nga mea katoa, ko Istio noa nga ipu tahataha e mau ana ki te rapu me te arataki (me etahi atu mea i korerohia e matou i mua). Mo konei, ko nga ripanga IP anake e mohio ana he aha kei roto i to punaha kohinga. A kei waho a httpbin.org na reira kaore e taea te uru atu. A koinei te waahi ka tae mai a Istio Egress ki te whakaora - kaore he huringa iti ki to waehere puna.

Ko te ture Egress i raro nei ka kaha a Istio ki te rapu (mehemea e tika ana, ka puta puta noa i te Ipurangi) mo te ratonga e hiahiatia ana, i tenei keehi, httpbin.org. Ka kite koe mai i tenei konae (egress_httpbin.yml), he maamaa noa te mahi i konei:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Ko nga mea e toe ana ko te whakamahi i tenei ture:

istioctl create -f egress_httpbin.yml -n istioegress

Ka taea e koe te tiro i nga ture Egress me te whakahau istioctl get egressrules:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro
Ka mutu, ka whakahaere ano matou i te whakahau Tuhinga – a ka kite tatou kei te mahi nga mea katoa:

Te Whakarewa pouri ki Istio: Nga Ratonga ngaro

Ka whakaaro nui tatou

Ka taea e koe te kite, ka taea e Istio te whakarite i te taunekeneke me te ao o waho. I etahi atu kupu, ka taea tonu e koe te hanga ratonga OpenShift me te whakahaere ma roto i nga Kubernetes, ma te pupuri i nga mea katoa i roto i nga poti e piki ana me te heke iho ina hiahiatia. I te wa ano, ka taea e koe te uru haumaru ki nga ratonga o waho o to taiao. Ae, ka whakahoki ano matou ka taea enei mea katoa me te kore e pa ki to waehere.

Koinei te pou whakamutunga o te raupapa i runga i Istio. Kia mau tonu - he maha nga mea whakamere kei mua!

Source: will.com

Tāpiri i te kōrero