Istio le Kubernetes ka tlhahiso. Karolo ea 2. Ho latela

Qetellong sehlooho Re ile ra sheba likarolo tsa motheo tsa Service Mesh Istio, ra tloaelana le tsamaiso mme ra araba lipotso tse ka sehloohong tse atisang ho hlaha ha re qala ho sebetsa le Istio. Karolong ena re tla sheba mokhoa oa ho hlophisa pokello ea tlhaiso-leseling ka marang-rang.

Istio le Kubernetes ka tlhahiso. Karolo ea 2. Ho latela

Ntho ea pele e tlang kelellong ho bahlahisi ba bangata le batsamaisi ba sistimi ha ba utloa mantsoe a reng Service Mesh a ntse a latela. Ka 'nete, re eketsa seva e khethehileng ea moemeli ho node e' ngoe le e 'ngoe ea marang-rang eo sephethephethe sa TCP se fetang ho eona. Ho bonahala eka hona joale ho ka khoneha ho romela tlhahisoleseding e mabapi le litšebelisano tsohle tsa marang-rang marang-rang. Ka bomalimabe, ha e le hantle ho na le li-nuances tse ngata tse lokelang ho tsotelloa. Ha re li shebeng.

Khopolo e fosahetseng ea pele: re ka fumana data ea ho hloa marang-rang mahala.

Ha e le hantle, bakeng sa mahala, re ka fumana feela li-node tsa tsamaiso ea rona tse amanang le metsu le tekanyo ea data e fetang pakeng tsa litšebeletso (ha e le hantle, ke palo ea li-byte feela ka nako ea nako). Leha ho le joalo, maemong a mangata, litšebeletso tsa rona li buisana ka mofuta o itseng oa protocol ea layer, joalo ka HTTP, gRPC, Redis, joalo-joalo. Mme, ehlile, re batla ho bona tlhaiso-leseling ka ho khetheha bakeng sa liprothokholo tsena; re batla ho bona sekhahla sa kopo, eseng sekhahla sa data. Re batla ho utloisisa nako ea likopo re sebelisa protocol ea rona. Qetellong, re batla ho bona tsela e felletseng eo kopo e e nkang ho tloha ho kena ka har'a sistimi ea rona ho fihlela ho fumana karabo ho tsoa ho mosebelisi. Bothata bona ha bo sa le bonolo ho bo rarolla.

Taba ea pele, a re shebeng hore na ho romella marang-rang ho shebahala joang ho latela pono ea meralo ea Istio. Joalokaha re hopola ho tloha karolong ea pele, Istio e na le karolo e arohaneng e bitsoang Mixer bakeng sa ho bokella telemetry. Leha ho le joalo, phetolelong ea hajoale ea 1.0.*, ho romella ho etsoa ka kotloloho ho tsoa ho li-server tsa proxy, e leng, ho tsoa ho moemeli oa moemeli. Moemeli oa moemeli o ts'ehetsa ho romella li-spans ho sebelisa protocol ea zipkin ka ntle ho lebokose. Hoa khoneha ho hokahanya li-protocol tse ling, empa feela ka plugin. Ka Istio hang-hang re fumana moemeli oa moemeli ea kopaneng le o hlophisitsoeng, o tšehetsang protocol ea zipkin feela. Haeba re batla ho sebelisa, ka mohlala, protocol ea Jaeger le ho romela li-tracing spans ka UDP, joale re tla hloka ho iketsetsa setšoantšo sa rona sa istio-proxy. Ho na le ts'ehetso ea li-plugins tsa tloaelo bakeng sa proxy ea istio, empa e ntse e le ka har'a mofuta oa alpha. Ka hona, haeba re batla ho etsa ntle le palo e kholo ea litlhophiso tsa tloaelo, mefuta e mengata ea theknoloji e sebelisetsoang ho boloka le ho amohela li-tracing spans e fokotsehile. Har'a litsamaiso tse ka sehloohong, ha e le hantle, joale u ka sebelisa Zipkin ka boeona, kapa Jaeger, empa romela ntho e 'ngoe le e' ngoe moo u sebelisa protocol e lumellanang le zipkin (e sa sebetseng haholo). Protocol ea zipkin ka boeona e kenyelletsa ho romella tlhaiso-leseling eohle ho babokelli ka protocol ea HTTP, e theko e phahameng haholo.

Joalokaha ke se ke boletse, re batla ho latela liprothokholo tsa boemo ba ts'ebeliso. Sena se bolela hore li-server tsa proxy tse emeng haufi le tšebeletso e 'ngoe le e' ngoe li tlameha ho utloisisa hore na ke mofuta ofe oa tšebelisano e etsahalang hona joale. Ka ho sa feleng, Istio e hlophisa likou tsohle hore e be TCP e hlakileng, ho bolelang hore ha ho na mesaletsa e tla romelloa. E le hore mesaletsa e romelloe, pele, u tlameha ho lumella khetho ena ho "mesh config" e kholo, 'me seo e leng sa bohlokoa haholo, bolela mabitso a likou tsohle tsa lits'ebeletso tsa kubernetes ho latela protocol e sebelisoang ts'ebeletso. Ke hore, ka mohlala, joalo ka:

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

U ka boela ua sebelisa mabitso a lik'hemik'hale joaloka http-magic (Istio e tla bona http mme e lemohe koung eo e le http endpoint). Sebopeho ke: proto-extra.

E le hore u se ke ua kopanya palo e kholo ea litlhophiso ho tseba protocol, u ka sebelisa mokhoa o litšila oa ho sebetsa: pata karolo ea Pilot ka nako eo e leng eona feela. e etsa logic ea tlhaloso ea protocol. Qetellong, ehlile, ho tla hlokahala ho fetola mohopolo ona ho maemo le ho fetohela ho kopano ea mabitso bakeng sa likou tsohle.

E le hore u utloisise hore na protocol e hlile e hlalositsoe ka nepo, u lokela ho kena ka har'a lijana leha e le life tsa li-sidecar tse nang le moemeli oa moemeli 'me u etse kopo ho boema-kepe ba tsamaiso ea moemeli ea nang le sebaka /config_dump. Ka tlhophiso e hlahisoang, o hloka ho sheba sebaka sa ts'ebetso ea ts'ebeletso e lakatsehang. E sebelisoa ho Istio joalo ka sesupo sa moo kopo e etsoang. Bakeng sa ho hlophisa boleng ba paramente ena ho Istio (ka nako eo re tla e bona tsamaisong ea rona ea ho latela), hoa hlokahala ho hlakisa folakha ea serviceCluster sethaleng sa ho qala setshelo sa koloi e ka thōko. Mohlala, e ka baloa joalo ka sena ho tsoa ho mefuta e fumanehang ho tloha tlase kubernetes API:

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

Mohlala o motle oa ho utloisisa hore na ho batla ho sebetsa joang ho envoy mona.

Qetello ea ho romella li-spans tsa morao-rao le eona e tlameha ho hlalosoa ho lifolakha tsa tlhahiso ea moemeli oa moemeli, mohlala: --zipkinAddress tracing-collector.tracing:9411

Maikutlo a fosahetseng a nomoro ea bobeli: re ka fumana likopo tse felletseng ka theko e tlase ka sistimi e kantle ho lebokose.

Ka bomalimabe, ha ho joalo. Ho rarahana ha ts'ebetsong ho itšetlehile ka hore na u se u sebelisitse tšebelisano ea litšebeletso joang. Hobaneng ha ho le joalo?

'Nete ke hore e le hore proxy ea istio e khone ho utloisisa mangolo a likopo tse kenang tšebeletsong le ba tlohelang tšebeletso e le' ngoe, ha hoa lekana ho thibela sephethephethe feela. U hloka ho ba le mofuta o itseng oa sekhetho sa puisano. Moemeli oa moemeli oa HTTP o sebelisa lihlooho tse khethehileng, tseo ka tsona moemeli a utloisisang hore na ke kopo efe e khethehileng ea tšebeletso e hlahisang likōpo tse khethehileng ho litšebeletso tse ling. Lethathamo la lihlooho tse joalo:

  • x-kopo-id,
  • x-b3-traceid,
  • x-b3-spanid,
  • x-b3-pantspanid,
  • x-b3-sampuli,
  • x-b3-lifolakha,
  • x-ot-span-context.

Haeba u na le ntlha e le 'ngoe, mohlala, mofani oa motheo, oo u ka eketsang logic e joalo, joale ntho e' ngoe le e 'ngoe e lokile, u hloka feela ho emela hore laebrari ena e ntlafatsoe ho bareki bohle. Empa haeba u na le tsamaiso e fapaneng haholo 'me ha ho na bonngoe ho tloha tšebeletsong ho ea ho tšebeletso holim'a marang-rang, joale sena se tla ba bothata bo boholo. Ntle le ho kenyelletsa mohopolo o joalo, tlhaiso-leseling eohle e tla ba "boemo bo le bong". Ke hore, re tla amohela litšebelisano tsohle tsa litšebeletso, empa li ke ke tsa khomareloa ka liketane tse le 'ngoe tsa litsela ka marang-rang.

fihlela qeto e

Istio e fana ka sesebelisoa se bonolo sa ho bokella tlhahisoleseding ea ho latela marang-rang, empa u tlameha ho utloisisa hore bakeng sa ts'ebetsong u tla hloka ho fetola tsamaiso ea hau le ho ela hloko likarolo tsa ts'ebetsong ea Istio. Ka lebaka leo, lintlha tse peli tse kholo li hloka ho rarolloa: ho hlalosa protocol ea boemo ba kopo (e tlamehang ho ts'ehetsoa ke moemeli oa moemeli) le ho theha phetiso ea tlhahisoleseling mabapi le khokahano ea likopo tsa ts'ebeletso ho tsoa ho likopo tsa ts'ebeletso (ho sebelisa lihlooho. , tabeng ea HTTP protocol). Ha litaba tsena li rarolloa, re na le sesebelisoa se matla se re lumellang ho bokella tlhahisoleseling ho tsoa marang-rang, esita le lits'ebetsong tse fapaneng haholo tse ngotsoeng ka lipuo le meralo e fapaneng.

Sehloohong se latelang se buang ka Mesh ea Tšebeletso, re tla sheba e 'ngoe ea mathata a maholo ka ho fetisisa ka Istio - tšebeliso e kholo ea RAM ka sejana se seng le se seng sa proxy ea lehlakoreng le ho buisana ka hore na u ka sebetsana le eona joang.

Source: www.habr.com

Eketsa ka tlhaloso