Għaliex il-pods tal-GKE ma jaslux għall-hosts lokali permezz tal-VPN
In-nodu jasal għan-netwerk lokali, il-pod le. L-esklużjonijiet tal-masquerade tal-GKE iħallu l-indirizzi tal-pods mhux tradotti għal destinazzjonijiet 10.x.
Il-ping jaħdem min-nodu u jfalli mill-pod, u xejn ma jasal lokalment. Il-mina u r-rotta tajbin; l-indirizz tas-sors fuq il-wajer mhuwiex. Dak li jiddistingwi dawn iż-żewġ każijiet huwa dak li l-pakkett jiddikjara li huwa meta jħalli l-cluster, u l-GKE għandu fehma dwar dan. Il-mekkaniżmu huwa lista ta’ esklużjonijiet tal-masquerade, u biex taqraha trid kmand wieħed.
Aqra l-lista effettiva qabel ma tbiddel xejn
Il-GKE jforni aġent li jiddeċiedi, għal kull firxa ta’ destinazzjoni, jekk it-traffiku tal-pods jiġix miktub mill-ġdid għall-indirizz tan-nodu meta joħroġ. Il-konfigurazzjoni tiegħu tissemmi t-tliet blokki RFC1918, 10.0.0.0/8, 172.16.0.0/12 u 192.168.0.0/16, bħala destinazzjonijiet eżentati. Għalhekk kull ma tibgħat minn pod lejn host 10.x lokali joħroġ min-nodu bl-indirizz tal-pod stess għadu mwaħħal. It-traffiku tan-nodu stess ma jiġix miktub mill-ġdid, u huwa eżattament għalhekk li l-ping tiegħu jaħdem.
Aqra l-konfigurazzjoni maħsuba u r-regoli installati, għax jistgħu ma jaqblux. kubectl -n kube-system get configmap ip-masq-agent -o yaml juri x’inqalall-aġent, u kubectl -n kube-system get pods -l k8s-app=ip-masq-agent juri jekk hemmx xi ħaġa taħdem biex tapplikaha. Fuq nodu, iptables-save | grep -i masq juri r-regoli li tassew jeżistu fil-kernel. Meta l-ConfigMap jgħid ħaġa u r-regoli oħra, is-suspettat huwa l-aġent u mhux in-netwerk.
Ikkonferma l-indirizz tas-sors b’qabda
Agħmel qabda qabel ma tibdel lista. Filtru fuq id-destinazzjoni waħda jżomm il-ħruġ jinqara: tcpdump -ni any host 10.20.30.40.
Qabbel dan ma’ dak li jirrapporta n-naħa l-oħra. Qabda lokalment li turi l-indirizz tal-pod u l-ebda tweġiba tagħlaq iċ-ċirku: il-lista tal-esklużjonijiet tispjega l-asimetrija mingħajr ebda ħsara fil-mina. Żewġ osservazzjonijiet ta’ indirizz tas-sors wieħed biżżejjed biex tieqaf taqbeż dwar is-CNI.
Iddejjaq l-esklużjoni għall-CIDR tal-pods
It-tiswija appoġġjata dejjaq l-eżenzjoni minflok ma tneħħiha: żomm il-CIDR tal-pods eżentat u warrab il-bqija tal-ispazju 10.x. Dik il-lista tgħix fil-ConfigMap tal-aġent taħt nonMasqueradeCIDRs, u li tbiddilha hija editjar segwit minn tnedija. Issostitwixxi d-dħul wiesa’ bil-firxa reali tal-pods tal-cluster, żomm il-blokki privati l-oħra jekk it-traffiku ġewwa l-cluster għad għandu bżonnhom, u ħalli resyncInterval kif inhu sakemm m’għandekx raġuni. Applika, ikkonferma li l-pods tal-aġent reġgħu bdew, u kkonferma li r-regoli tal-kernel inbidlu.
Dan huwa tibdil fil-cluster kollu b’firxa ta’ impatt reali. Ladarba jidħol fis-seħħ, it-traffiku li qabel żamm is-sors tal-pod tiegħu issa jasal miktub mill-ġdid għan-nodu, allura kull ma kien ibbażat fuq dawk l-indirizzi tal-pods jara mittent differenti. Il-vittmi huma l-loggs, il-listi ta’ permess u r-regoli tal-firewall lokali li jsemmu indirizzi tal-pods, u dawn ifallu bil-kwiet. Ħabbar it-tibdil bħala tibdil fl-imġiba, mhux bħala tiswija.
Fi cluster b’ħafna pools tan-nodi, iċċekkja li l-aġent huwa skedat fuq in-nodi fejn il-pods milquta tassew jaħdmu. Pool mingħajr id-DaemonSet iżomm ir-regoli l-qodma tiegħu, u xejn fil-ConfigMap ma juri dan.
L-alternattiva u l-ispiża tagħha
L-għażla l-oħra żżomm l-indirizzi tal-pods intatti u tgħallem it-triq dwarhom. Il-CIDR tal-pods jidħol fis-seletturi tat-traffiku tal-Cloud VPN, u n-naħa lokali teħtieġ rotta tar-ritorn għalih biex it-tweġibiet ikunu jafu fejn imorru. Dan iżomm l-identità tal-pod, li xi mudelli tas-sigurtà jridu, u jwessa’ kemm l-ambitu tar-routing kif ukoll dak tal-firewall li n-naħa l-oħra trid taċċetta.
Il-kummerċ huwa l-qari kontra l-ambitu. It-traduzzjoni tagħmel in-naħa lokali tara indirizz wieħed għal kull nodu, li huwa faċli biex iddaħħlu f’lista ta’ permess u jaħbi liema pod bagħat xiex. Mingħajr traduzzjoni l-indirizz tal-pod jinżamm minn tarf għall-ieħor, li huwa aħjar għall-attribuzzjoni u agħar għal kull apparat fit-triq li jrid jitgħallem firxa ġdida. L-ebda għażla mhija difett ta’ Docker jew tas-CNI; it-tnejn huma deċiżjonijiet tar-routing bi kont operattiv. Agħżel dik li l-kont tagħha t-tim tiegħek jista’ jħallas, u ikteb għaliex.
Ivverifika u erġa’ lura
Ħaddem l-istess qabda mill-ġdid. Qabda fil-livell tan-nodu li għadha tipprintja l-indirizz tal-pod wara l-editjar tiegħek tfisser li r-regoli qatt ma nbidlu, x’jgħid il-ConfigMap. Il-wajer huwa l-fatt; kull ħaġa oħra hija inferenza.
Imbagħad iċċekkja d-direzzjoni opposta, għax nofs dawn it-tibdiliet jiġu vverifikati biss ’il barra. Ikkonferma li t-tweġiba tasal għan-nodu jew għall-pod li bagħat it-talba, u kkonferma li l-applikazzjoni temmet minflok ma rċeviet biss SYN. Qabda li turi talba mingħajr tweġiba hija problema tar-routing fuq in-naħa l-oħra, mhux problema tal-masquerade fuq din in-naħa.
Ir-riroll huwa l-ConfigMap preċedenti, applikat bl-istess mod, bl-istess konferma li l-aġent reġa’ beda u r-regoli nbidlu. Żomm l-indirizz tas-sors qabel u wara għal talba magħrufa waħda fir-rekord tat-tibdil, għax dik il-linja waħda hija dik li tipprova li t-tibdil għamel dak li għidt. Il-gwida tal-aġent tal-masquerade IP tal-GKE tiddokumenta l-valuri awtomatiċi u l-oqsma tal-ConfigMap. Jekk l-indirizz tas-sors ma jinbidilx wara t-tnedija, l-aġent mhux qed jaħdem fuq dak in-nodu u l-ebda editjar tal-YAML mhu se jsewwih.