Firwat GKE-Poden iwwer VPN keng lokal Hosten erreechen
Den Node erreecht d’lokalt Netz, de Pod net. Dem GKE seng Masquerade-Ausnamen loossen d’Podadressen fir 10.x-Ziler oniwwersat.
Ping funktionéiert vum Node a feelt vum Pod, an et kënnt näischt lokal un. Den Tunnel an d’Route si an der Rei; d’Quelladress um Kabel net. Wat déi zwou Fäll ënnerscheet, ass wat de Pak behaapt ze sinn, wann en de Cluster verléisst, an de GKE huet eng Meenung dozou. De Mechanismus ass eng Masquerade-Ausnamelëscht, an et brauch just een Uerder, fir se ze liesen.
Liest déi effektiv Lëscht, ier Dir eppes ännert
De GKE liwwert en Agent, deen pro Zilberäich entscheet, ob Podtraffik beim Erofgoen op d’Nodeadress ëmgeschriwwe gëtt. Seng geliwwert Konfiguratioun nennt déi dräi RFC1918-Blocken, 10.0.0.0/8, 172.16.0.0/12 an 192.168.0.0/16, als ausgeholl Ziler. Alles, wat Dir vun engem Pod op en lokalen 10.x-Host schéckt, verléisst den Node dofir mat der eegener Adress vum Pod nach drun. Den Trafik vum Node selwer gëtt net ëmgeschriwwen, an dofir funktionéiert säi Ping.
Liest déi virgesinn Konfiguratioun an déi installéiert Reegelen, well se kënnen net iwwereneestëmmen. kubectl -n kube-system get configmap ip-masq-agent -o yaml weist, wat dem Agent gesot gouf, an kubectl -n kube-system get pods -l k8s-app=ip-masq-agent weist, ob eppes leeft, fir et unzewenden. Op engem Node weist iptables-save | grep -i masq d’Reegelen, déi wierklech am Kernel existéieren. Wann de ConfigMap eng Saach seet an d’Reegelen eng aner, ass den Agent verdächteg an net d’Netz.
Bestätegt d’Quelladress mat enger Opnam
Maacht eng Opnam, ier Dir eng Lëscht ännert. E Filter op dat eenzegt Zil hält den Ausgab liesbar: tcpdump -ni any host 10.20.30.40.
Vergläicht dat mat deem, wat déi aner Säit mellt. Eng Opnam lokal, déi d’Podadress weist an keng Äntwert, schléisst de Krees: d’Ausnamelëscht erkläert d’Asymmetrie ouni en Tunneldefekt. Zwee Observatiounen vun enger Quelladress duergen, fir opzehalen iwwer den CNI ze spekuléieren.
Enk d’Ausnam op den Pod-CIDR an
Déi ënnerstëtzt Reparatur enkt d’Ausnam, amplaz se ze läschen: hält den Pod-CIDR ausgenommen a loosst de Rescht vum 10.x-Raum fale. Déi Lëscht läit am ConfigMap vum Agent ënner nonMasqueradeCIDRs, an se z’änneren ass eng Ännerung, duerno e Rollout. Ersetzt den breeden Andrag duerch de richtege Podberäich vum Cluster, behält déi aner privat Bléck, wann den Trafik am Cluster se nach brauch, a loosst resyncInterval a Rou, wann Dir kee Grond hutt. Wend et un, bestätegt, datt d’Podë vum Agent nei gestart sinn, a bestätegt, datt d’Kernelreegelen geännert hunn.
Dëst ass eng Ännerung iwwer de ganzen Cluster mat engem richtege Blastradius. Nodeems se ukomm ass, kënnt Trafik, dee virdru seng Podquell behalen huet, elo op den Node ëmgeschriwwen un, also gesäit alles, wat op deene Podadressen opgebaut war, en anere Sender. D’Affer sinn Loggen, Erlaabnislëschten an lokal Firewallreegelen, déi Podadressen nennen, an se feelen stëll. Kündegt d’Ännerung als Verhalensännerung un, net als Korrektur.
An engem Cluster mat méi Node-Pools, iwwerpréift, ob den Agent op deene Nodes ageriicht ass, wou déi betraffe Poden wierklech lafen. E Pool ouni den DaemonSet behält seng al Reegelen, an näischt am ConfigMap wäert dat weisen.
D’Alternativ an hire Präis
Déi aner Optioun hält d’Podadressen onberéiert a léiert de Wee drop. Den Pod-CIDR geet an d’Traffikselektore vu Cloud VPN, an d’lokal Säit brauch eng Retourroute dofir, sou datt Äntwerten wëssen, wou se hi mussen. Dat erhält d’Podidentitéit, déi eenzel Sécherheetsmodeller wëllen, an et verbreet souwuel de Routing- wéi de Firewallëmfang, deen déi aner Säit muss akzeptéieren.
Den Tausch ass Liesbarkeet géint Ëmfang. D’Iwwersetzung mécht, datt déi lokal Säit eng Adress pro Node gesäit, wat einfach an eng Erlaabnislëscht ze setzen ass a verstoppt, wéi ee Pod wat geschéckt huet. Ouni Iwwersetzung bleift d’Podadress vun Enn zu Enn, wat besser fir d’Zouschreiwung an méi schlecht fir all Apparat um Wee ass, deen en neie Beräich léiere muss. Keng vun den zwou Optioune ass en Docker- oder CNI-Defekt; béid si Routingentscheedungen mat enger operationeller Rechnung. Wielt déi, deenen hir Rechnung Äert Team ka bezuelen, a schreift op firwat.
Iwwerpréift a maacht zréck
Fuert déiselwecht Opnam nach eng Kéier. Eng Opnam op Nodeniveau, déi no Ärer Ännerung nach d’Podadress dréckt, bedeit, datt d’Reegelen ni geännert hunn, wat de ConfigMap och seet. De Kabel ass d’Tatsaach; alles anescht ass Ofleedung.
Iwwerpréift duerno déi ëmgekéiert Richtung, well d’Halschent vun dësen Ännerungen nëmmen no bausse verifizéiert gëtt. Bestätegt, datt d’Äntwert den Node oder de Pod erreecht, deen d’Ufro geschéckt huet, a bestätegt, datt d’Applikatioun fäerdeg gouf, amplaz just en SYN ze kréien. Eng Opnam, déi eng Ufro ouni Äntwert weist, ass e Routingproblem op der anerer Säit, keen Masqueradeproblem op dëser.
Zréckmaachen ass de virege ConfigMap, op déiselwecht Manéier ugewandt, mat der selwechter Bestätegung, datt den Agent nei gestart ass an d’Reegelen geännert hunn. Halt d’Quelladress virun an no fir eng bekannt Ufro am Ännerungsprotokoll, well just déi eng Zeil beweist, datt d’Ännerung gemaach huet, wat Dir gesot hutt. Dem GKE säi Guide fir den IP-Masquerade-Agent dokumentéiert d’Standardwäerter an d’ConfigMap-Felder. Wann d’Quelladress nom Rollout onverännert ass, leeft den Agent net op deem Node a keng YAML-Ännerung wäert dat fixen.