Istio me Kubernetes i te hanga. Wāhanga 2. Aroturuki

I nga ra o mua Tuhinga I titiro matou ki nga waahanga taketake o te Ratonga Mesh Istio, i mohio ki te punaha me te whakautu i nga patai matua ka puta ake i te wa e timata ana ki te mahi me Istio. I tenei wahanga ka titiro tatou me pehea te whakarite i te kohinga o nga korero tirotiro i runga i te whatunga.

Istio me Kubernetes i te hanga. Wāhanga 2. Aroturuki

Ko te mea tuatahi ka puta ki te hinengaro mo te maha o nga kaiwhakawhanake me nga kaiwhakahaere punaha ka rongo ratou i nga kupu e whai ana a Service Mesh. Ae, ka taapirihia e matou he tūmau takawaenga motuhake ki ia kōpuku whatunga ka haere katoa nga waka TCP. Te ahua nei ka taea te tuku korero ngawari mo nga hononga whatunga katoa i runga i te whatunga. Kia aroha mai, i roto i te meka he maha nga nuances me whai whakaaro. Ka titiro tatou ki a raatau.

Te pohehe nama tuatahi: ka taea e tatou te tiki raraunga hikoi ipurangi mo te kore utu.

Inaa, mo te kore utu, ka taea noa e tatou te hono i nga pona o to tatou punaha ma nga pere me te reeti raraunga e haere ana i waenga i nga ratonga (mehemea, ko te maha o nga paita mo ia waeine wa). Heoi, i te nuinga o nga wa, ka whakawhitiwhiti korero a maatau ratonga i runga i etahi momo kawa paparanga tono, penei i te HTTP, gRPC, Redis, me era atu. Ae ra, e hiahia ana matou ki te kite i nga korero whaiwhai mo enei tikanga; e hiahia ana matou ki te kite i te reeti tono, kaua ko te reiti raraunga. E hiahia ana matou ki te mohio ki te roa o nga tono ma te whakamahi i ta maatau kawa. Ka mutu, e hiahia ana matou ki te kite i te huarahi katoa ka mahia e tetahi tono mai i te takiuru ki ta matou punaha ki te whiwhi whakautu mai i te kaiwhakamahi. Ko tenei raruraru kua kore e ngawari ki te whakaoti.

Tuatahi, me titiro tatou ki te ahua o nga mokowhiti tuku mai i te tirohanga hoahoanga i Istio. Kei te mahara tatou mai i te waahanga tuatahi, kei a Istio tetahi waahanga motuhake e kiia ana ko Mixer mo te kohi waea. Heoi, i roto i te putanga o naianei 1.0.*, ka tukuna tika mai i nga tūmau takawaenga, ara, mai i te takawaenga karere. E tautoko ana te takawaenga o te karere ki te tuku i nga mokowhiti ma te whakamahi i te kawa zipkin i waho o te pouaka. Ka taea te hono atu i etahi atu kawa, engari ma te mono anake. Ki a Istio ka whiwhi tonu matou i tetahi takawaenga karere kua oti te whirihora, e tautoko ana i te kawa zipkin anake. Mena kei te pirangi matou ki te whakamahi, hei tauira, te kawa Jaeger me te tuku i nga mokowhiti tirotiro ma te UDP, katahi ka hiahia maatau ki te hanga i a maatau ake ahua-istio-proxy. He tautoko mo nga taapiri ritenga mo te istio-proxy, engari kei roto tonu i te putanga alpha. Na reira, ki te hiahia tatou ki te mahi me te kore he maha o nga whakaritenga ritenga, ka whakaitihia te whānuitanga o nga hangarau e whakamahia ana mo te penapena me te tango i nga waahanga tirotiro. Ko nga punaha matua, inaianei ka taea e koe te whakamahi i a Zipkin ake, a Jaeger ranei, engari ka tukuna nga mea katoa ki reira ma te whakamahi i te kawa hototahi zipkin (he iti ake te pai). Ko te kawa zipkin ake ko te tuku i nga korero tirotiro katoa ki nga kaikohi ma te kawa HTTP, he utu nui.

Ka rite ki taku korero, e hiahia ana matou ki te whai i nga kawa taumata-tono. Ko te tikanga ko nga kaitoro takawaenga e tu ana i te taha o ia ratonga me mohio he aha te ahua o te taunekeneke kei te tupu inaianei. Ma te taunoa, ka whirihora e Istio nga tauranga katoa kia TCP noa, ko te tikanga kaore he tohu ka tukuna. Kia tukuna nga tohu, tuatahi, me whakaahei koe i tenei whiringa ki te whirihora mata matua, a, ko te mea nui, whakaingoatia nga tauranga katoa o nga hinonga ratonga kubernetes kia rite ki te kawa e whakamahia ana i roto i te ratonga. Koina, hei tauira, penei:

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - port: 80
    targetPort: 80
    name: http
  selector:
    app: nginx

Ka taea hoki e koe te whakamahi i nga ingoa puhui penei i te http-magic (Ka kite a Istio i te http ka mohio ki taua tauranga hei tohu mutunga http). Ko te whakatakotoranga: proto-extra.

Kia kore ai e papaki i te maha o nga whirihoranga ki te whakatau i te kawa, ka taea e koe te whakamahi i tetahi mahi paru: papaki i te waahanga Pilot i te wa e tika ana. ka mahi arorau whakamaarama kawa. I te mutunga, ko te tikanga, me whakarereke tenei arorau ki te paerewa me te huri ki tetahi tikanga whakaingoa mo nga tauranga katoa.

Kia mohio ai koe mehemea kua tino tika te whakamaaramatanga o te kawa, me uru koe ki roto i tetahi o nga ipu taha me te takawaenga karere me te tono ki te tauranga whakahaere o te atanga karere me te waahi /config_dump. I roto i te whirihoranga hua, me titiro koe ki te mara mahi o te ratonga e hiahiatia ana. Ka whakamahia i roto i te Istio hei tohu mo te waahi ka tukuna te tono. Hei whakarite i te uara o tenei tawhā i roto i Istio (ka kite tatou i te reira i roto i to tatou pūnaha rapu), e tika ana ki te whakapūtā te kara serviceCluster i te wāhanga o te whakarewa i te ipu sidecar. Hei tauira, ka taea te tatau penei mai i nga taurangi i puta mai i te kubernetes API whakararo:

--serviceCluster ${POD_NAMESPACE}.$(echo ${POD_NAME} | sed -e 's/-[a-z0-9]*-[a-z0-9]*$//g')

He tauira pai kia mohio ai koe me pehea te mahi a te whaiwhai i roto i te karere konei.

Ko te pito mutunga mo te tuku i nga waahi whaiwhai me tohu ano ki nga haki whakarewanga takawaenga karere, hei tauira: --zipkinAddress tracing-collector.tracing:9411

Te pohehe nama tuarua: ka taea e taatau te tiki i nga tohu katoa o nga tono ma te punaha mai i te pouaka.

Kia aroha mai, ehara. Ko te uaua o te whakatinanatanga ka whakawhirinaki ki te pehea i whakatinanahia e koe te taunekeneke o nga ratonga. He aha tera?

Ko te meka ko te mea kia mohio ai a istio-takawaenga ki nga reta o nga tono ka tae mai ki tetahi ratonga me te hunga e wehe ana i te ratonga kotahi, kaore e ranea ki te haukoti noa i nga waka katoa. Me whai koe i etahi momo tautohu korero. Ka whakamahia e te takawaenga karere HTTP nga pane motuhake, e mohio ai te karere ko tehea tono motuhake ki te ratonga ka whakaputa tono motuhake ki etahi atu ratonga. Rarangi o enei pane:

  • x-tono-id,
  • x-b3-tohu,
  • x-b3-panana,
  • x-b3-parentspanid,
  • x-b3-tauira,
  • x-b3-kara,
  • x-ot-span-horopaki.

Mena kei a koe tetahi tohu, hei tauira, he kaihoko taketake, ka taea e koe te taapiri i taua whakaaro, ka pai nga mea katoa, me tatari koe kia whakahoutia tenei whare pukapuka mo nga kaihoko katoa. Engari ki te whai koe i tetahi punaha tino rerekee me te kore he whakakotahitanga i roto i te neke mai i te ratonga ki te ratonga i runga i te whatunga, tera pea he raru nui tenei. Ki te kore e taapirihia nga whakaaro penei, ko nga korero tirotiro katoa ka "taumata-kotahi" anake. Arā, ka whakawhiwhia ki a maatau nga taunekeneke katoa i waenga i nga ratonga, engari kaore e piri ki nga mekameka kotahi o te huarahi ma te whatunga.

mutunga

Ka whakarato a Istio i tetahi taputapu watea mo te kohi korero tirotiro i runga i te whatunga, engari me maarama koe mo te whakatinanatanga ka hiahia koe ki te urutau i to punaha me te whai whakaaro ki nga ahuatanga o te whakatinanatanga Istio. Ko te mutunga, e rua nga waahanga matua e tika ana kia whakatauhia: te tautuhi i te kawa taumata tono (me tautokohia e te kaitautoko karere) me te whakarite i te tuku whakamua o nga korero mo te hononga o nga tono ki te ratonga mai i nga tono mai i te ratonga (ma te whakamahi i nga pane. , i roto i te take o te kawa HTTP). Ka whakatauhia enei take, he taputapu kaha taatau e taea ai e maatau te kohikohi korero mai i te whatunga, ahakoa i roto i nga punaha rerekee kua tuhia ki nga reo maha me nga anga.

I roto i te tuhinga e whai ake nei mo te Ratonga Mesh, ka titiro tatou ki tetahi o nga raru nui ki a Istio - te nui o te kohi RAM e ia ipu takawaenga sidecar me te matapaki me pehea e taea ai e koe.

Source: will.com

Tāpiri i te kōrero