Me ya sa pod ɗin GKE ba sa isa ga masu karɓar gida ta VPN
Node ɗin yana isa cibiyar sadarwar gida, pod ɗin ba ya isa. Keɓewar masquerade na GKE suna barin adiresoshin pod ba a fassara su ba don 10.x.
Ping yana aiki daga node ɗin kuma yana kasawa daga pod ɗin, kuma babu abin da ke isa gida. Tunnel ɗin da hanyar suna lafiya; adireshin tushe a kan waya ba ya lafiya. Abin da ya bambanta waɗannan yanayi biyu shi ne abin da fakiti ke da'awar zama sa'anda ya bar gungu, kuma GKE yana da ra'ayi game da hakan. Hanyar ita ce jerin keɓewar masquerade, kuma karanta shi yana ɗaukar umarni ɗaya.
Karanta jerin da ake aiki da shi kafin ka canza wani abu
GKE yana ba da wakili wanda ke yanke shawara, bisa ga kowace kewayon manufa, ko za a sake rubuta zirga-zirgar pod zuwa adireshin node ɗin lokacin fita. Tsarin da aka kawo nasa yana ambaton tubalan RFC1918 guda uku, 10.0.0.0/8, 172.16.0.0/12 da 192.168.0.0/16, a matsayin manufofin da aka keɓe. Don haka duk abin da ka aika daga pod zuwa mai karɓar 10.x na gida yana barin node ɗin da adireshin pod ɗin kansa har yanzu a haɗe. Ba a sake rubuta zirga-zirgar node ɗin kansa ba, kuma wannan ne ainihin dalilin da ping ɗinsa ke aiki.
Karanta tsarin da aka yi niyya da ƙa'idodin da aka shigar, domin suna iya rashin daidaituwa. kubectl -n kube-system get configmap ip-masq-agent -o yaml yana nuna abin da aka faɗa wa wakilin, kuma kubectl -n kube-system get pods -l k8s-app=ip-masq-agent yana nuna ko wani abu yana gudana don aiwatar da shi. A kan node, iptables-save | grep -i masq yana nuna ƙa'idodin da suke da gaske a cikin kernel. Lokacin da ConfigMap ya faɗi wani abu kuma ƙa'idodin wani, wanda ake zargi shi ne wakilin ba cibiyar sadarwa ba.
Tabbatar da adireshin tushe da kamawa
Yi kamawa kafin ka canza jerin. Tace a kan manufa ɗaya yana kiyaye fitarwa a iya karantawa: tcpdump -ni any host 10.20.30.40.
Kwatanta wannan da abin da ɗaya gefen ke bayarwa. Kamawa a gida da ke nuna adireshin pod kuma babu amsa yana rufe da'irar: jerin keɓewa yana bayanin rashin daidaito ba tare da wata matsala ta tunnel ba. Dubawa biyu na adireshin tushe ɗaya sun isa a daina hasashe game da CNI.
Takaita keɓewar zuwa CIDR na pod
Gyaran da ake goyon baya yana takaita keɓewar maimakon cire shi: bar CIDR na pod a keɓe kuma ka bar sauran sararin 10.x. Wannan jeri yana cikin ConfigMap na wakilin ƙarƙashin nonMasqueradeCIDRs, kuma canza shi gyara ne sannan turawa. Maye gurbin babban shigar da ainihin kewayon pod na gungu, riƙe sauran tubalan masu zaman kansu idan zirga-zirgar cikin gungu har yanzu tana buƙatar su, kuma ka bar resyncInterval kamar yadda yake sai idan kana da dalili. Aiwatar da shi, tabbatar da pod ɗin wakilin sun sake farawa, kuma tabbatar da ƙa'idodin kernel sun canza.
Wannan canji ne na dukan gungu da ke da ainihin tasiri. Bayan ya shiga aiki, zirga-zirgar da a da take riƙe tushen pod ɗinta yanzu tana zuwa an sake rubuta ta zuwa node, don haka duk abin da ya dogara da waɗannan adiresoshin pod yana ganin wani mai aikawa. Waɗanda abin ya shafa su ne rajistan ayyuka, jerin izini da ƙa'idodin firewall na gida waɗanda ke ambaton adiresoshin pod, kuma suna kasawa a shiru. Sanar da canjin a matsayin canjin ɗabi'a, ba gyara ba.
A cikin gungu mai tafkunan node da yawa, duba ko an tsara wakilin a kan node ɗin da pod ɗin da abin ya shafa suke gudana da gaske. Tafkin da ba shi da DaemonSet yana riƙe da tsoffin ƙa'idodinsa, kuma babu abin da zai nuna hakan a cikin ConfigMap.
Madadin da kuɗinsa
Wata zaɓi tana barin adiresoshin pod ba su canza ba kuma tana koya wa hanya game da su. CIDR na pod yana shiga cikin masu zaɓen zirga-zirgar Cloud VPN, kuma ɓangaren gida yana buƙatar hanyar dawowa don ita domin amsoshi su san inda za su. Wannan yana kiyaye asalin pod, wanda wasu tsarin tsaro suke so, kuma yana faɗaɗa duka iyakar sarrafa hanya da iyakar firewall da ɗaya gefen dole ya karɓa.
Cinikin shine karantawa da iyaka. Fassara tana sa ɓangaren gida ya ga adireshi ɗaya ga kowane node, wanda yake da sauƙin saka a jerin izini kuma yana ɓoye wane pod ya aika me. Idan ba a fassara ba, adireshin pod yana kasancewa daga ƙarshe zuwa ƙarshe, wanda ya fi kyau ga jingina kuma ya fi muni ga kowace na'ura a kan hanya da za ta koyi sabon kewayon. Babu zaɓin da ya zama lahani na Docker ko CNI; dukansu shawarwarin hanya ne da ke da lissafin aiki. Zaɓi wanda ƙungiyarka za ta iya biya lissafinsa, kuma rubuta dalilin.
Tabbatarwa kuma ka mayar
Sake gudanar da wannan kamawar. Idan kamawar matakin node har yanzu tana buga adireshin pod bayan gyaran ka, yana nufin ƙa'idodin ba su taɓa canzawa ba, duk abin da ConfigMap ya faɗa. Waya ita ce gaskiya; sauran duk hasashe ne.
Sannan duba alkiblar akasin haka, domin rabin waɗannan canje-canjen ana tabbatar da su ne kawai a wajen fita. Tabbatar da amsar ta isa node ko pod ɗin da ya aika buƙatar, kuma tabbatar da aikace-aikacen ya ƙare maimakon ya karɓi SYN kawai. Kamawa da ke nuna buƙata ba tare da amsa ba matsala ce ta hanya a ɗaya gefen, ba matsalar masquerade ba a wannan gefen.
Mayarwa ita ce ConfigMap na baya, an yi amfani da ita haka, da wannan tabbacin cewa wakilin ya sake farawa kuma ƙa'idodin sun canza. Riƙe adireshin tushe kafin da bayan buƙata ɗaya da aka sani a cikin rikodin canji, domin wannan layi ɗaya ne ke tabbatar da canjin ya yi abin da ka faɗa. Jagorar wakilin IP masquerade na GKE tana rubuta tsoffin ƙima da filayen ConfigMap. Idan adireshin tushe bai canza ba bayan turawa, wakilin ba ya aiki a wannan node kuma babu gyaran YAML da zai gyara hakan.