Wani wuri tsakanin tunnel da backend, adireshin abokin ciniki ko ya tsira ko a maye gurbinsa, kuma duka sakamakon biyu ana iya kare su. Zaɓin na mai sabis ɗin da ke karɓa ne, ba na wanda ya sanya CNI ba. Lokacin da izini ga kowane abokin ciniki, ƙididdiga ko rubutun bincike suka yi muhimmanci, adireshin dole ya tsira daga kowane mataki. Lokacin da rabon haɗin gwiwa ya zama abin karɓa, NAT tushen yana kawar da matsalar sarrafa hanya da za ka riƙe har abada.

Inda adireshin abokin ciniki yake ɓacewa da gaske

Fakitin abokin ciniki mai nisa yana isa pod ɗin VPN tare da tushen ciki a cikin kewayon tunnel, a ce 10.90.0.42. Lokacin da pod ɗin ya tura wannan fakitin zuwa ClusterIP ko IP na pod, hanyoyi uku daban-daban na iya sake rubuta tushen. Dokar masquerade ta CNI a node tana rufe zirga-zirgar da pod ke turawa zuwa wajen CIDR na gungu. Rikodin conntrack na kube-proxy a node ɗin da aka nufa yana rufe matakin Service ɗin kansa. Proxy ɗin da ke ƙare haɗin ba ya tura fakitin kwata-kwata, don haka tushen da kake gani a ƙarshe na proxy ne.

Kowanne yana rayuwa a wani Layer daban, shi ya sa filin Service ɗaya kusan ba ya gyara dukan hanya.

externalTrafficPolicy a kan Service ɗin jama'a na VPN yana yanke shawara ne kawai game da abin da zai faru da haɗin waje: Local yana riƙe adireshin nesa a node ɗin da ya karɓa shi, yayin da Cluster ke barin kube-proxy ya ba da fakitin ga wani node kuma ya yi masquerade a can. Wannan saitin yana sarrafa listener ɗin da abokan cinikinka suke haɗawa da shi. Ba ya faɗin komai game da fakitin da aka kwance wanda tsarin VPN ɗinka ke turawa cikin gungu daga baya.

Sharuɗɗa uku da suke warware muhawara

Ina yin tambayoyi guda uku ɗin a wannan tsari kowane lokaci da wannan ya taso, domin na farko yakan kawo ƙarshen tattaunawa. Amsa su domin aikin da aka keɓe ba don dukan gungu ba. Ƙungiyoyi biyu a cikin kamfani ɗaya na iya zuwa ga amsoshi daban-daban kuma dukansu daidai ne.

QuestionPreserveSNAT
Does the backend enforce policy per client?Yes, the address is the identityOnly if a trusted proxy supplies identity
Can the cluster route 10.90.0.0/24 back to a stable gateway?RequiredNot needed
Is the workload a forwarder or a proxy?ForwarderProxy is fine

Idan backend ya amsa i a tambaya ta farko kuma a'a a ta biyu, kana da aikin cibiyar sadarwa da za ka yi maimakon manifest da za ka gyara. Idan layi na uku ya ce proxy, adireshin ba zai taɓa tsira ba, kuma yin riya akasin haka yana kashe mako ɗaya na kama fakiti.

Abin da yanayin preserve ke buƙata daga cibiyar sadarwa

Adana tushen yana nufin node ɗin da aka nufa dole ya mayar da zirga-zirga zuwa 10.90.0.42 ta hanyar ƙofar VPN mai aiki. Tafkin VPN ba CIDR na gungu ba ne, don haka babu CNI da ke sarrafa shi a madadinka ta tsohuwa. Kai da kanka kake ƙara hanyar, sannan ka tabbatar da cewa ƙarshen ƙofar da take nunawa ya tsira daga sake tsarawa.

ip route add 10.90.0.0/24 via 10.244.3.17 dev eth0
sysctl -w net.ipv4.conf.eth0.rp_filter=2

Wannan mataki na gaba adireshin pod ne, kuma adiresoshin pod suna motsi. Kai hanyar zuwa VIP na Service ko adireshin node da ke zama a wurin, ko ka yarda cewa za ka bi ƙofar bayan kowane korar. Tacewar hanyar dawowa ita ce wata tarko: yanayin tsattsauran ra'ayi yana jefar da fakiti waɗanda hanyar dawowarsu ba ta dace da interface ɗin da suka shigo ba, kuma wannan shi ne ainihin siffar kwararar VPN da aka adana.

Tabbatarwa mai laushi sau da yawa ita ce bambanci tsakanin hanyar dawowa mai aiki da amsoshin da suke ɓacewa bayan sun bar backend. Dokokin masquerade a node ɗin VPN ma dole su ware kewayon tunnel, in ba haka ba fakitin da aka tura zai fita da adireshin pod, ko da wace hanya ka gina. Zai fi kyau ka bayyana wannan keɓance a cikin tsarin CNI ɗin kansa maimakon gyara iptables da hannu, domin wakilin yana sake rubuta sarƙoƙinsa idan ya sake farawa kuma dokar da ka rubuta da hannu tana wanzuwa daidai har zuwa haɓaka na gaba.

NetworkPolicy kulawa ce ga shiga, ba sarrafa hanya ba. Ƙarfafa manufa ba zai taɓa dawo da adireshin da masquerade ya riga ya maye gurbinsa ba.

Menene kuɗin SNAT, kuma yaya za a rubuta shi

NAT tushen zuwa gungu shine mafi arha ƙira, kuma ba kuskure ba ne. Backend yana ganin adireshin pod ko node ɗin VPN, rubuce-rubucen sun daidaita, kuma babu buƙatar hanyar dawowa ta kasance. Abin da ka rasa shine ikon bambanta abokan ciniki biyu a matakin cibiyar sadarwa, don haka ƙididdiga, hani da alamun bincike dole su fito daga wani wuri.

Yawanci wannan wani wurin shine aikace-aikacen: alamar zama, kai da aka sa hannu, ko layin ka'idar PROXY da proxy ɗin da kake sarrafawa ya rubuta. Waɗannan suna ba mai karɓa ainihi wanda zai iya amincewa da shi kawai lokacin da proxy ɗin ke kan hanya kuma ba za a iya saita kan daga ɓangaren abokin ciniki ba. Kasance bayyananne a cikin runbook game da wanne ya shafi, domin injiniya na gaba zai ɗauka cewa adireshin da ke cikin rubutun abokin ciniki ne. Ba haka ba ne, kuma wani lamari ɗaya ya isa ya sa wannan zato ya yi tsada.

Musayar tana kasancewa da gaskiya muddin an rubuta ta.

Binciken da ke raba hanyar da ke aiki da wadda ta yi sa'a

Gwada da sabon haɗi maimakon wanda aka adana a cache, kuma gwada a duka bangarorin biyu. Rashin nasara da yawa suna kama da na lokaci-lokaci kawai saboda sabbin kwarara suna bin hanyar da aka sake rubutawa.

Kama tuple a wurare uku yayin buƙata ɗaya da aka ba da izini: nan da nan bayan kwancewa, a interface ɗin fita na pod ɗin VPN, da kuma a backend. Idan tushen ya canza tsakanin kamawa ta biyu da ta uku, sanadin yana ƙasa da pod. Idan ya canza kafin ta biyu, pod ɗin da kansa yana fassara.

Sannan share pod ɗin VPN ka maimaita gwajin yayin da ake sake tsara shi. Hanyar da aka adana da ta karye a lokacin korar ba ta cika ba, haka ma dokar NAT da aka manne wa adireshin da babu shi yanzu. A ƙarshe, aika buƙata ɗaya daga tushen da kake tsammanin za a ƙi ta kuma tabbatar da cewa ƙin ya fito daga manufa ba daga hanyar da ta ɓace ba.

Labarai masu alaƙa