Istio iyo Kubernetes ee wax soo saarka. Qaybta 2. Baafinta

Waagii hore maqaal Waxaan eegnay qaybaha aasaasiga ah ee Adeegga Mesh Istio, waxaan barannay nidaamka waxaanan ka jawaabnay su'aalaha ugu muhiimsan ee badanaa soo baxa marka la bilaabayo la shaqeynta Istio. Qeybtaan waxaan ku eegi doonaa sida loo habeeyo aruurinta macluumaadka raadinta shabakad.

Istio iyo Kubernetes ee wax soo saarka. Qaybta 2. Baafinta

Waxa ugu horreeya ee maskaxda ku soo dhaca horumariyayaal badan iyo maamulayaasha nidaamka markay maqlaan ereyada Adeegga Mesh ayaa baafinaya. Runtii, waxaan ku darnaa server-ka wakiil gaar ah shabakada shabakad kasta oo dhammaan taraafikada TCP ay maraan. Waxay u muuqataa in ay hadda suurtagal tahay in si fudud loo diro macluumaadka ku saabsan dhammaan isdhexgalka shabakadaha shabakada. Nasiib darro, xaqiiqda waxaa jira nuances badan oo u baahan in la tixgeliyo. Aynu eegno iyaga.

Nambarka qaladka ah ee koowaad: waxaan ku heli karnaa xogta socodka internetka ee bilaashka ah.

Dhab ahaantii, xoogaa lacag la'aan ah, waxaan heli karnaa kaliya qanjidhada nidaamkayaga oo ku xiran fallaadho iyo heerka xogta ee u dhexeeya adeegyada (xaqiiqda, kaliya tirada bytes halkii cutubkii). Si kastaba ha ahaatee, inta badan, adeegyadeenu waxay ku xiriiraan nooc ka mid ah borotokoolka lakabka codsiga, sida HTTP, gRPC, Redis, iyo wixii la mid ah. Iyo, dabcan, waxaan rabnaa inaan aragno raadinta macluumaadka si gaar ah borotokooladan; waxaan rabnaa inaan aragno heerka codsiga, ma aha heerka xogta. Waxaan rabnaa inaan fahanno daahitaanka codsiyada anagoo adeegsanayna borotokoolkayaga. Ugu dambeyntii, waxaan rabnaa inaan aragno dariiqa buuxda ee codsigu ka qaato gelitaanka nidaamkayaga si aan jawaab uga helno isticmaalaha. Dhibaatadan hadda aad uma fududa in la xalliyo.

Marka hore, aan eegno waxa dirida taako-baafintu u eg tahay marka laga eego dhinaca dhismaha ee Istio. Sida aynu ka xasuusanay qaybtii hore, Istio waxa ay leedahay qayb gaar ah oo loo yaqaan Mixer ururinta telemetry. Si kastaba ha ahaatee, nooca hadda jira ee 1.0.*, diritaanka si toos ah ayaa looga sameeyaa server-yada wakiillada, kuwaas oo ah wakiilka ergayga. Ergeyga wakiilku waxa uu taageeraa soo dirida taako baadhiseed iyada oo la isticmaalayo borotokoolka zipkin ee ka baxsan sanduuqa. Waa suurtogal in lagu xidho borotokool kale, laakiin kaliya iyada oo loo marayo plugin. Istio waxaan isla markiiba helnaa wakiil ergey ah oo la ururiyey oo habaysan, kaas oo kaliya taageeraya borotokoolka zipkin. Haddii aan rabno inaan isticmaalno, tusaale ahaan, borotokoolka Jaeger oo aan u dirno baafinta UDP, markaa waxaan u baahan doonaa inaan dhisno sawirkayaga istio-proxy. Waxaa jira taageero loogu talagalay furayaasha gaarka ah ee istio-proxy, laakiin wali waxay ku jirtaa nooca alfa. Sidaa darteed, haddii aan rabno inaan sameyno iyada oo aan la helin tiro badan oo ah goobaha gaarka ah, kala duwanaanta tignoolajiyada loo isticmaalo kaydinta iyo helitaanka baafinta waa la dhimay. Nidaamyada ugu muhiimsan, dhab ahaantii, hadda waxaad isticmaali kartaa Zipkin lafteeda, ama Jaeger, laakiin u dir wax kasta oo halkaa ku jira adigoo isticmaalaya nidaamka ku habboon ee zipkin (taas oo ah mid aad u yar). Hab-maamuuska zipkin laftiisu waxa uu ku lug leeyahay u dirida dhammaan macluumaadka baafinta ururiyayaasha iyada oo loo marayo borotokoolka HTTP, kaas oo aad qaali u ah.

Sidaan horayba u sheegay, waxaan rabnaa in aan raad raacno borotokoolka heerka codsiga. Tani waxay ka dhigan tahay in server-yada wakiillada ah ee u taagan adeeg kasta ay tahay inay fahmaan nooca isdhexgalka hadda dhacaya. Sida caadiga ah, Istio wuxuu dejiyaa dhammaan dekedaha inay noqdaan TCP cad, taas oo macnaheedu yahay wax raad ah lama diri doono. Si loo soo diro raadadka, waa inaad, marka hore, awood u yeelatid doorashadan qaabka mesh config iyo, waxa aad muhiim u ah, magaca dhammaan dekedaha adeegyada kubernetes sida waafaqsan nidaamka loo isticmaalo adeegga. Taasi waa, tusaale ahaan, sidan:

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

Waxa kale oo aad isticmaali kartaa magacyo isku dhafan sida http-magic (Istio wuxuu arki doonaa http oo u aqoonsan doona dekeddaas inay tahay barta http). Qaabku waa: proto-extra.

Si aanad u dhejin tiro badan oo qaabeyn ah si loo go'aamiyo borotokoolka, waxaad isticmaali kartaa goob wasakh ah: ku dheji qaybta Pilot xilligan marka ay tahay fuliyaa macquulka qeexida borotokoolka. Ugu dambeyntii, dabcan, waxay noqon doontaa lagama maarmaan in la beddelo macquulkan oo loo beddelo heshiis magacyeedka dhammaan dekedaha.

Si aad u fahamto in hab-maamuuska si sax ah loo qeexay, waxaad u baahan tahay inaad gasho mid ka mid ah weelasha dhinac-geeska ah ee wata wakiilka ergeyga oo aad codsi u dirto dekedda maamulka ee interface ergeyga oo leh goobta / config_dump. Qaabeynta natiijada, waxaad u baahan tahay inaad eegto goobta hawlgalka ee adeegga la rabo. Waxa loo istcimaalay gudaha Istio aqoonsi ahaan halka codsiga laga soo jeediyay. Si loo habeeyo qiimaha cabbirkan gudaha Istio (waxaan ku arki doonnaa nidaamkayaga baafinta), waxaa lagama maarmaan ah in la cayimo calanka Kooxda adeegga ee marxaladda bilaabista weelka dhinac-dhinta. Tusaale ahaan, waxaa loo xisaabin karaa sidan oo kale doorsoomayaal laga helay API kubernetes hoos:

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

Tusaale wanaagsan oo lagu fahmi karo sida baafintu u shaqeyso ergeyga halkan.

Meesha ugu dambaysa lafteeda ee dirida taako baadhiseed waa in sidoo kale lagu qeexaa calamada bilawga ergeyga, tusaale ahaan: --zipkinAddress tracing-collector.tracing:9411

Nambarka khaldan ee labaad: waxaan si raqiis ah ku heli karnaa raadraac codsiyo dhamaystiran oo nidaamka ka baxsan sanduuqa

Nasiib darro, ma aha. Kakanaanta fulinta waxay kuxirantahay sida aad horeyba u hirgalisay isdhexgalka adeegyada. Waa maxay sababtu?

Xaqiiqdu waxay tahay in si istio-proxy u awoodo inuu fahmo waraaqaha codsiyada soo socda ee adeega kuwa ka tagaya isla adeegga, kuma filna in si fudud loo joojiyo dhammaan taraafikada. Waxaad u baahan tahay nooc ka mid ah aqoonsiga isgaadhsiinta. Wakiilka HTTP wuxuu adeegsadaa madaxyo gaar ah, kaas oo ergeygu ku fahmo codsiga gaarka ah ee adeega abuura codsiyada gaarka ah ee adeegyada kale. Liiska madaxyadan oo kale:

  • x-codsi-id,
  • x-b3-raac,
  • x-b3-isbaanish,
  • x-b3-waalid,
  • x-b3-muunad,
  • x-b3-calanka,
  • x-ot-span-context.

Haddii aad leedahay hal dhibic, tusaale ahaan, macmiilka aasaasiga ah, kaas oo aad ku dari karto macquulka ah, markaa wax walba waa fiican yihiin, kaliya waxaad u baahan tahay inaad sugto maktabaddan si loo cusbooneysiiyo dhammaan macaamiisha. Laakiin haddii aad leedahay nidaam aad u kala duwan oo aysan jirin midawga ka guurista adeegga ilaa adeegga shabakadda, markaa tani waxay u badan tahay inay noqoto dhibaato weyn. Haddii aan lagu darin caqli-gal noocaas ah, dhammaan macluumaadka baafintu waxa ay noqonayaan "hal-heer". Taasi waa, waxaan heli doonaa dhammaan isdhexgalka adeegga dhexdooda, laakiin laguma dhejin doono hal silsilad oo marin ah oo shabakadda ah.

gunaanad

Istio waxay ku siinaysaa qalab ku haboon ururinta macluumaadka shabakada, laakiin waa inaad fahantaa in hirgelinta aad u baahan doonto inaad la qabsato nidaamkaaga oo aad xisaabta ku darsato astaamaha hirgelinta Istio. Natiijo ahaan, laba qodob oo muhiim ah ayaa loo baahan yahay in la xalliyo: qeexida borotokoolka heerka codsiga (kaas oo ay tahay in uu taageero wakiilka ergayga) iyo dejinta gudbinta macluumaadka ku saabsan xiriirka codsiyada adeegga ee codsiyada adeegga (adoo isticmaalaya madax , marka laga hadlayo borotokoolka HTTP). Marka arrimahan la xalliyo, waxaan haysanaa qalab awood leh oo noo ogolaanaya inaan si hufan u ururinno macluumaadka shabakada, xitaa nidaamyada aad u kala duwan oo ku qoran luqado kala duwan iyo qaabab kala duwan.

Maqaalka soo socda ee ku saabsan Adeegga Mesh, waxaanu eegi doonaa mid ka mid ah dhibaatooyinka ugu waaweyn ee Istio - isticmaalka weyn ee RAM ee weel kasta oo wakiil dhinac ah oo ka wada hadal sida aad ula macaamili karto.

Source: www.habr.com

Add a comment