Ìdí tí àwọn pod GKE kò fi dé àwọn olùgbàlejò àdúgbò nípasẹ̀ VPN
Nódì dé àwọn nẹ́tíwọ́kì àdúgbò, pod kò dé. Àwọn ìyọkuro masquerade GKE fi àwọn àdírẹ́sì pod sílẹ̀ láìtúmọ̀ fún àwọn ibi-ìlọ 10.x.
Ping ń ṣiṣẹ́ láti nódì, ó sì ń kùnà láti pod, kò sì sí nǹkan tí ó dé ibi àdúgbò. Tọ́ọ̀lù àti ipa ọ̀nà dára; àdírẹ́sì orísun lórí okùn kò dára. Ohun tí ó yàtọ̀ láàárín àwọn ìṣẹ̀lẹ̀ méjì yìí ni ohun tí pákẹ́ẹ̀tì náà sọ pé òun jẹ́ nígbà tí ó bá kúrò nínú ẹgbẹ́, GKE sì ní èrò lórí rẹ̀. Ẹ̀rọ náà ni àkójọ àwọn ìyọkuro masquerade, kíkà rẹ̀ sì gba àṣẹ kan.
Ka àkójọ tí ó wà lẹ́yìn kí o tó yí ohunkóhun padà
GKE ń pèsè aṣojú kan tí ó ń pinnu, fún ìwọ̀n ibi-ìlọ kọ̀ọ̀kan, bóyá a ó tún ìrìnàjò pod kọ sí àdírẹ́sì nódì nígbà ìjáde. Ìṣètò rẹ̀ tí ó wà pẹ̀lú dárúkọ àwọn pálákì RFC1918 mẹ́ta, 10.0.0.0/8, 172.16.0.0/12 àti 192.168.0.0/16, gẹ́gẹ́ bí ibi-ìlọ tí a yọkuro. Nítorí náà ohunkóhun tí o bá fi ránṣẹ́ láti pod sí olùgbàlejò 10.x àdúgbò yóò kúrò ní nódì pẹ̀lú àdírẹ́sì pod fúnra rẹ̀ tí ó ṣì so mọ́. Ìrìnàjò nódì fúnra rẹ̀ kò tún kọ, ìdí nìyẹn tí ping rẹ̀ fi ń ṣiṣẹ́.
Ka ìṣètò tí a ní lọ́kàn àti àwọn òfin tí a fi sínú ẹ̀rọ, nítorí wọ́n lè má fara wọn mọ́. kubectl -n kube-system get configmap ip-masq-agent -o yaml ń fi ohun tí a sọ fún aṣojú hàn, kubectl -n kube-system get pods -l k8s-app=ip-masq-agent sì ń fi bóyá nǹkan ń ṣiṣẹ́ láti fi í sílò hàn. Lórí nódì, iptables-save | grep -i masq ń fi àwọn òfin tí ó wà ní kérnẹ́lì gan-an hàn. Nígbà tí ConfigMap sọ ọ̀rọ̀ kan tí àwọn òfin sọ òmíràn, ẹni tí a fẹ̀sùn kàn ni aṣojú, kì í ṣe nẹ́tíwọ́kì.
Fi ìdáná ṣe ìjẹ́rìí àdírẹ́sì orísun
Ṣe ìdáná kí o tó yí àkójọ padà. Àlẹ̀mọ́ lórí ibi-ìlọ kan ń jẹ́ kí ìjáde wà ní ìkàwé: tcpdump -ni any host 10.20.30.40.
Fi ìyẹn wé ohun tí ẹ̀gbẹ́ kejì ń ròyìn. Ìdáná ní ibi àdúgbò tí ó fi àdírẹ́sì pod hàn tí kò sì sí ìdáhùn ń pa àyíká dé: àkójọ ìyọkuro ń ṣàlàyé àìdọ́gba láìsí àìdára tọ́ọ̀lù kankan. Ìwòye méjì lórí àdírẹ́sì orísun kan tó láti dá àríwísí nípa CNI dúró.
Dín ìyọkuro kù sí CIDR pod
Àtúnṣe tí a ń ṣètìlẹ́yìn ń dín ìyọkuro kù dípò yíyọ ọ́ kúrò: jẹ́ kí CIDR pod wà ní ìyọkuro kí o sì fi ìyókù àyè 10.x sílẹ̀. Àkójọ yẹn wà nínú ConfigMap aṣojú lábẹ́ nonMasqueradeCIDRs, yíyí i padà sì jẹ́ àtúnṣe tí ìgbéjáde ń tẹ̀lé. Rọ́pò ìforúkọsílẹ̀ gbígbòòrò pẹ̀lú ìwọ̀n pod gidi ti ẹgbẹ́, tọ́jú àwọn pálákì àdáni mìíràn bí ìrìnàjò inú ẹgbẹ́ bá ṣì nílò wọn, kí o sì fi resyncInterval sílẹ̀ bí ó ti wà àyàfi bí o bá ní ìdí. Fi í sílò, jẹ́rìí pé àwọn pod aṣojú ti tún bẹ̀rẹ̀, kí o sì jẹ́rìí pé àwọn òfin kérnẹ́lì ti yí padà.
Èyí jẹ́ ìyípadà ẹgbẹ́ kíkún pẹ̀lú ìwọ̀n ìpa gidi. Nígbà tí ó bá wà lẹ́yìn, ìrìnàjò tí ó ti ń tọ́jú orísun pod rẹ̀ yóò wá ní àkọsílẹ̀ sí nódì, nítorí náà ohunkóhun tí ó gbára lé àwọn àdírẹ́sì pod wọ̀nyẹn yóò rí olùránṣẹ́ mìíràn. Àwọn olùfaraẹni ni àwọn àkọsílẹ̀, àwọn àkójọ ìyọ̀nda àti àwọn òfin ògiri iná àdúgbò tí ó dárúkọ àwọn àdírẹ́sì pod, wọ́n sì ń kùnà ní ìdákẹ́jẹ́. Kéde ìyípadà náà gẹ́gẹ́ bí ìyípadà ìhùwàsí, kì í ṣe àtúnṣe.
Nínú ẹgbẹ́ tí ó ní ọ̀pọ̀ àdúró nódì, ṣàyẹ̀wò bóyá aṣojú ti wà lórí àwọn nódì tí àwọn pod tí ó kàn ń ṣiṣẹ́ gan-an. Àdúró tí kò ní DaemonSet ń tọ́jú àwọn òfin rẹ̀ àtijọ́, kò sì sí nǹkan nínú ConfigMap tí yóò fi ìyẹn hàn.
Àfidípò àti iye rẹ̀
Àṣàyàn kejì ń tọ́jú àwọn àdírẹ́sì pod láìfọwọ́ kàn, ó sì ń kọ́ ipa ọ̀nà nípa wọn. CIDR pod yóò wọ inú àwọn olùyàn ìrìnàjò Cloud VPN, ẹ̀gbẹ́ àdúgbò sì nílò ọ̀nà ìpadà fún un kí àwọn ìdáhùn lè mọ ibi tí wọ́n ń lọ. Èyí ń pa ìdánimọ̀ pod mọ́, èyí tí àwọn àwòrán ààbò kan fẹ́, ó sì ń gbòòrò ìwọ̀n ìtọ́sọ́nà àti ìwọ̀n ògiri iná tí ẹ̀gbẹ́ kejì gbọ́dọ̀ gbà.
Ìpàṣípààrẹ̀ ni ìkàwé lòdì sí ìwọ̀n. Ìtúmọ̀ ń jẹ́ kí ẹ̀gbẹ́ àdúgbò rí àdírẹ́sì kan fún nódì kọ̀ọ̀kan, ó rọrùn láti fi sínú àkójọ ìyọ̀nda ó sì ń fi pamọ́ pod wo ni ó rán ohun wo. Láìsí ìtúmọ̀, àdírẹ́sì pod ń wà láti ìparí dé ìparí, èyí sàn fún ìsọtọ́jú orúkọ ó sì burú fún gbogbo ẹ̀rọ tí ó wà lójú ọ̀nà tí ó gbọ́dọ̀ kọ́ ìwọ̀n tuntun. Kò sí àṣàyàn tí ó jẹ́ àbùkù Docker tàbí CNI; méjèèjì jẹ́ ìpinnu ìtọ́sọ́nà pẹ̀lú bílì ìṣiṣẹ́. Yan èyí tí ẹgbẹ́ rẹ le san, kí o sì kọ ìdí.
Jẹ́rìí kí o sì yí padà
Tún ìdáná kan náà ṣe. Bí ìdáná ní ìpele nódì ṣì ń tẹ̀ àdírẹ́sì pod jáde lẹ́yìn àtúnṣe rẹ, ó túmọ̀ sí pé àwọn òfin kò yí padà rí, ohun yòówù tí ConfigMap sọ. Okùn ni òtítọ́; ohun mìíràn yóò kù ni àròsọ.
Lẹ́yìn náà ṣàyẹ̀wò ìtọ́sọ́nà òdìkejì, nítorí ìdajì àwọn ìyípadà wọ̀nyí ni a ń jẹ́rìí ní ìjáde nìkan. Jẹ́rìí pé ìdáhùn dé nódì tàbí pod tí ó rán ìbéèrè náà, kí o sì jẹ́rìí pé ohun-èlò náà parí dípò kí ó kàn gba SYN. Ìdáná tí ó fi ìbéèrè láìsí ìdáhùn hàn jẹ́ ìṣòro ìtọ́sọ́nà ní ẹ̀gbẹ́ kejì, kì í ṣe ìṣòro masquerade ní ẹ̀gbẹ́ yìí.
Yíyí padà ni ConfigMap ti ṣáájú, tí a fi sílò ní ọ̀nà kan náà, pẹ̀lú ìjẹ́rìí kan náà pé aṣojú tún bẹ̀rẹ̀ àti pé àwọn òfin yí padà. Tọ́jú àdírẹ́sì orísun ṣáájú àti lẹ́yìn fún ìbéèrè kan tí a mọ̀ nínú àkọsílẹ̀ ìyípadà, nítorí ìlà kan náà ni ó ń fi hàn pé ìyípadà náà ṣe ohun tí o sọ. Ìtọ́sọ́nà aṣojú IP masquerade GKE ń ṣàkọsílẹ̀ àwọn iye àìyẹ àti àwọn pápá ConfigMap. Bí àdírẹ́sì orísun kò bá yí padà lẹ́yìn ìgbéjáde, aṣojú kò ń ṣiṣẹ́ lórí nódì yẹn, àtúnṣe YAML kankan kò sì ní tún un ṣe.