1.14 ਤੋਂ ਬਾਅਦ GKE ਪੋਡਾਂ ਨੇ VPN ਪਹੁੰਚ ਗੁਆ ਲਈ: ਸਰੋਤ ਠੀਕ ਕਰਨ ਦੇ ਦੋ ਤਰੀਕੇ
1.14 ਤੋਂ ਬਾਅਦ ਪੋਡ ਆਪਣੇ ਟਿਕਾਣਿਆਂ ਨਾਲ VPN ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ, ਇਸ ਲਈ ਪੀਅਰ ਜਵਾਬ ਛੱਡ ਦਿੰਦੇ ਹਨ। ਸਰੋਤ ਸਮਝੌਤਾ ਚੁਣੋ, ਫਿਰ nonMasqueradeCIDRs ਉਸ ਅਨੁਸਾਰ ਸੈੱਟ ਕਰੋ।
ਇੱਕ ਅਪਗ੍ਰੇਡ ਆਉਂਦਾ ਹੈ, ਅਤੇ ਸੁਰੰਗ ਦੇ ਪਾਰ ਵਾਲੀਆਂ ਪ੍ਰਣਾਲੀਆਂ ਉਸ ਪੋਡ ਟ੍ਰੈਫਿਕ ਨੂੰ ਰੱਦ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿੰਦੀਆਂ ਹਨ ਜੋ ਪਿਛਲੇ ਹਫ਼ਤੇ ਕੰਮ ਕਰਦਾ ਸੀ। ਸੁਰੰਗ ਚਾਲੂ ਹੈ, ਫਾਇਰਵਾਲ ਨਿਯਮ ਅਛੋਹ ਹਨ, ਅਤੇ ਕਿਸੇ ਨੇ ਪੀਅਰ ਨੀਤੀ ਸੰਪਾਦਿਤ ਨਹੀਂ ਕੀਤੀ। ਜੋ ਬਦਲਿਆ ਉਹ ਕਲਸਟਰ ਲਾਗਾਂ ਵਿੱਚ ਅਦਿੱਖ ਹੈ: ਉਹ ਸਰੋਤ ਟਿਕਾਣਾ ਜੋ ਇਹ ਪ੍ਰਣਾਲੀਆਂ ਹੁਣ ਵੇਖਦੀਆਂ ਹਨ। ਇਹ ਅੰਤਰ ਉਸ ਨਾਕਾਮੀ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ ਜੋ ਨੈੱਟਵਰਕ ਰੁਕਾਵਟ ਵਰਗੀ ਦਿਸਦੀ ਹੈ ਅਤੇ ਇਜਾਜ਼ਤ ਦੀ ਸਮੱਸਿਆ ਵਾਂਗ ਵਿਵਹਾਰ ਕਰਦੀ ਹੈ।
ਦੋ ਵੈਧ ਜਵਾਬ ਹਨ, ਅਤੇ ਉਹ ਤੁਹਾਨੂੰ ਵੱਖਰੀਆਂ ਥਾਵਾਂ ਤੇ ਲੈ ਜਾਂਦੇ ਹਨ। ConfigMap ਸੰਪਾਦਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਰੋਤ ਸਮਝੌਤਾ ਚੁਣੋ।
ਉਹ ਡਿਫਾਲਟ ਨਿਯਮ ਜੋ ਸਥਾਪਿਤ ਹੋਣਾ ਬੰਦ ਹੋ ਗਿਆ
ਪੁਰਾਣੇ GKE ਸੰਸਕਰਣ masquerade ਨਿਯਮ ਸਥਾਪਿਤ ਕਰਦੇ ਸਨ, ਜੋ ਮੰਜ਼ਿਲ 10.0.0.0/8 ਤੋਂ ਬਾਹਰ ਹੋਣ ਤੇ ਪੋਡ ਸਰੋਤਾਂ ਨੂੰ ਨੋਡ ਟਿਕਾਣੇ ਨਾਲ ਬਦਲ ਦਿੰਦਾ ਸੀ। ਉਸ ਦਾਇਰੇ ਅੰਦਰਲਾ VPN ਗੇਟਵੇ ਪੋਡ ਟਿਕਾਣਾ ਵੇਖਦਾ ਸੀ, ਜਦਕਿ ਹੋਰ ਦੂਰ ਦੀ ਚੀਜ਼ ਨੋਡ ਤੋਂ ਆਈ ਜਾਪਦੀ ਸੀ। ਪੀਅਰਾਂ ਨੇ ਨੋਡ ਟਿਕਾਣਿਆਂ ਦੁਆਲੇ ਇਜਾਜ਼ਤ ਸੂਚੀਆਂ ਅਤੇ ਵਾਪਸੀ ਮਾਰਗ ਬਣਾਏ, ਕਿਉਂਕਿ ਉਨ੍ਹਾਂ ਨੇ ਇਹੀ ਦੇਖਿਆ ਸੀ।
ਬਾਅਦ ਦੇ ਸੰਸਕਰਣਾਂ ਨੇ ਉਹ ਡਿਫਾਲਟ ਨਿਯਮ ਸਥਾਪਿਤ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ। ਪੋਡ ਟ੍ਰੈਫਿਕ ਹੁਣ ਮੰਜ਼ਿਲ ਜੋ ਵੀ ਹੋਵੇ, ਪੋਡ ਟਿਕਾਣਿਆਂ ਨਾਲ ਗੇਟਵੇ ਤੇ ਪਹੁੰਚਦਾ ਹੈ। ਜੋ ਪੀਅਰ ਸਿਰਫ਼ ਨੋਡ ਟਿਕਾਣੇ ਰੂਟ ਕਰਦਾ ਹੈ ਉਹ ਜਵਾਬ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਧਿਰ ਲਾਭਦਾਇਕ ਲਾਗ ਐਂਟਰੀ ਨਹੀਂ ਲਿਖਦੀ। ਬੇਨਤੀ ਦੂਰ ਵਾਲੇ ਸਿਰੇ ਤੇ ਸਫਲ ਵੀ ਹੋ ਸਕਦੀ ਹੈ, ਅਤੇ ਇਹੀ ਇਸ ਨਾਕਾਮੀ ਦਾ ਪਿੱਛਾ ਕਰਨਾ ਉਲਝਣ ਭਰਪੂਰ ਬਣਾਉਂਦਾ ਹੈ।
ਮਰੇ ਹੋਏ ਹਿੱਸੇ ਦੇ ਅਰਥ ਵਿੱਚ ਕੁਝ ਵੀ ਟੁੱਟਿਆ ਨਹੀਂ। ਦੋਵੇਂ ਧਿਰਾਂ ਬਸ ਇਸ ਗੱਲ ਤੇ ਸਹਿਮਤ ਨਹੀਂ ਕਿ ਕਿਹੜਾ ਸਰੋਤ ਜਾਇਜ਼ ਹੈ।
ਉਹ ਸਰੋਤ ਚੁਣੋ ਜੋ ਪੀਅਰ ਨੂੰ ਵੇਖਣਾ ਚਾਹੀਦਾ ਹੈ
ਪੋਡ ਟਿਕਾਣੇ ਰੱਖਣਾ ਵਧੇਰੇ ਸਹੀ ਸਮਝੌਤਾ ਹੈ। ਦੂਰ ਵਾਲੀ ਧਿਰ ਉਹ ਵਰਕਲੋਡ ਵੇਖਦੀ ਹੈ ਜਿਸ ਨੇ ਟ੍ਰੈਫਿਕ ਪੈਦਾ ਕੀਤਾ, ਲਾਗ ਇਮਾਨਦਾਰ ਰਹਿੰਦੇ ਹਨ, ਅਤੇ ਪ੍ਰਤੀ-ਪੋਡ ਨੀਤੀ ਸੰਭਵ ਹੋ ਜਾਂਦੀ ਹੈ। ਕੀਮਤ ਇਹ ਹੈ ਕਿ ਪੀਅਰ ਨੂੰ ਪੋਡ ਪ੍ਰੀਫਿਕਸ ਚੁੱਕਣਾ ਪੈਂਦਾ ਹੈ।
ਨੋਡ ਟਿਕਾਣੇ ਰੱਖਣਾ ਸਸਤਾ ਸਮਝੌਤਾ ਹੈ। ਉਸ ਮੰਜ਼ਿਲ ਲਈ masquerade ਦੁਬਾਰਾ ਚਾਲੂ ਕਰੋ, ਅਤੇ ਪੀਅਰ ਉਹ ਟਿਕਾਣਾ ਵੇਖਦਾ ਰਹੇਗਾ ਜਿਸ ਤੇ ਉਸ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਭਰੋਸਾ ਹੈ।
ਇੱਕ ਸਵਾਲ ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ ਫੈਸਲਾ ਕਰਦਾ ਹੈ: ਪੀਅਰ ਸਰੋਤ ਨਾਲ ਕੀ ਕਰਦਾ ਹੈ? ਜੇ ਉਹ ਲਾਗ ਲਿਖਦਾ ਹੈ, ਪ੍ਰਤੀ-ਸਰੋਤ ਨੀਤੀ ਲਾਗੂ ਕਰਦਾ ਹੈ ਜਾਂ ਤੰਗ ਵਾਪਸੀ ਰੂਟਿੰਗ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਤਾਂ ਪੋਡ ਟਿਕਾਣੇ ਵਾਧੂ ਸੰਰਚਨਾ ਨੂੰ ਜਾਇਜ਼ ਠਹਿਰਾਉਂਦੇ ਹਨ। ਜੇ ਉਸ ਨੂੰ ਸਿਰਫ਼ ਜਵਾਬ ਭੇਜਣੇ ਹਨ, ਤਾਂ masquerade ਘੱਟ ਖਰਚ ਕਰਦਾ ਹੈ ਅਤੇ ਦੂਜੀ ਧਿਰ ਤੋਂ ਕੁਝ ਨਹੀਂ ਮੰਗਦਾ। ਜਦ ਤੱਕ ਦੋਵੇਂ ਟੀਮਾਂ ਇਸ ਨੂੰ ਲਿਖ ਕੇ ਨਹੀਂ ਰੱਖਦੀਆਂ, ਕੋਈ ਵੀ ਚੋਣ ਤਰਕਸੰਗਤ ਹੈ।
ਤੀਜਾ ਵਿਕਲਪ ਆਮ ਤੌਰ ਤੇ ਗਲਤੀ ਹੈ: ਸਭ ਕੁਝ masquerade ਕਰਨਾ ਅਤੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਨਿਰੋਪਣ ਦੀ ਸਮਰੱਥਾ ਗੁਆਉਣਾ। ਇਸ ਤੋਂ ਬਚੋ, ਜਦ ਤੱਕ ਪੀਅਰ ਸੱਚਮੁੱਚ ਨੋਡ ਟਿਕਾਣਿਆਂ ਤੋਂ ਇਲਾਵਾ ਕੁਝ ਰੂਟ ਨਹੀਂ ਕਰ ਸਕਦਾ।
nonMasqueradeCIDRs ਨੂੰ ਅਸਲ ਦਾਇਰਿਆਂ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰੋ
GKE kube-system ਵਿੱਚ ip-masq-agent ਚਲਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਸ ਦਾ ConfigMap ਉਹ ਮੰਜ਼ਿਲਾਂ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ ਜੋ masquerade ਛੱਡ ਦਿੰਦੀਆਂ ਹਨ। ਸੁਰੰਗ ਵੱਲ ਪੋਡ ਸਰੋਤ ਬਚਾਉਣ ਲਈ ਪੋਡ ਦਾਇਰਾ, ਨੋਡ ਸਬਨੈੱਟ ਅਤੇ ਸਥਾਨਕ ਪ੍ਰੀਫਿਕਸ ਸਾਰੇ ਉਸ ਸੂਚੀ ਵਿੱਚ ਆਉਂਦੇ ਹਨ।
ਨਮੂਨਾ ਮੁੱਲਾਂ ਨੂੰ ਆਪਣੇ ਕਲਸਟਰ ਦੇ ਦਾਇਰਿਆਂ ਨਾਲ ਬਦਲੋ। ਲੋੜ ਤੋਂ ਵੱਧ ਚੌੜੀ ਸੂਚੀ ਨਾ ਬਣਾਓ, ਕਿਉਂਕਿ ਹਰ ਵਾਧੂ ਐਂਟਰੀ ਬਦਲ ਦਿੰਦੀ ਹੈ ਕਿ ਕੋਈ ਹੋਰ ਮੰਜ਼ਿਲ ਕੀ ਵੇਖਦੀ ਹੈ। ਹੇਠਾਂ ਤਿੰਨ ਐਂਟਰੀਆਂ ਪੋਡ ਨੈੱਟਵਰਕ, ਨੋਡ ਸਬਨੈੱਟ ਅਤੇ ਸੁਰੰਗ ਪਿੱਛੇ ਦੇ ਪ੍ਰੀਫਿਕਸ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ:
nonMasqueradeCIDRs:
- 10.12.0.0/14
- 10.100.0.0/16
- 172.16.0.0/12
masqLinkLocal: false
resyncInterval: 60s0.0.0.0/0 ਐਂਟਰੀ ਸਾਰੀਆਂ ਮੰਜ਼ਿਲਾਂ ਲਈ masquerade ਬੰਦ ਕਰ ਦਿੰਦੀ ਹੈ, ਜੋ ਬਦਲ ਦਿੰਦੀ ਹੈ ਕਿ ਅਸੰਬੰਧਿਤ ਵਰਕਲੋਡ ਬਾਹਰੀ ਸੇਵਾਵਾਂ ਨੂੰ ਕਿਵੇਂ ਦਿਸਦੇ ਹਨ ਅਤੇ ਘੱਟ ਹੀ ਜਾਣਬੁੱਝ ਕੇ ਹੁੰਦੀ ਹੈ। ਏਜੰਟ resyncInterval ਤੇ ਆਪਣੀ ਸੰਰਚਨਾ ਦੁਬਾਰਾ ਪੜ੍ਹਦਾ ਹੈ, ਇਸ ਲਈ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰਨਾ ਆਮ ਤੌਰ ਤੇ ਲੋੜੀਂਦਾ ਨਹੀਂ। ਜਾਂਚੋ ਕਿ ਏਜੰਟ ਪੋਡ ਚੱਲ ਰਿਹਾ ਹੈ, ਫਿਰ ਇਸ ਦੇ ਅੰਦਰ ਮਾਊਂਟ ਕੀਤੀ ਫਾਈਲ ਖੋਲ੍ਹੋ। ਉਸ ਫਾਈਲ ਨੂੰ ਪੜ੍ਹਨਾ ਹੀ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਬਦਲਾਅ ਪਹੁੰਚ ਗਿਆ।
ਜਵਾਬ ਦਾ ਮਾਰਗ ਦੂਜਾ ਅੱਧਾ ਹੈ
masquerade ਸਿਰਫ਼ ਬੇਨਤੀ ਦਾ ਸਰੋਤ ਬਦਲਦਾ ਹੈ, ਹੋਰ ਕੁਝ ਨਹੀਂ। ਪੀਅਰ ਨੂੰ ਜੋ ਵੀ ਸਰੋਤ ਮਿਲੇ, ਉਸ ਨੂੰ ਉੱਥੇ ਵਾਪਸ ਜਾਣ ਦਾ ਮਾਰਗ ਅਜੇ ਵੀ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਕਲਸਟਰ ਨੂੰ ਪੀਅਰ ਵੱਲ ਦਾ ਮਾਰਗ ਵੀ ਅਜੇ ਵੀ ਚਾਹੀਦਾ ਹੈ।
VPN ਗੇਟਵੇ ਤੇ ਕੈਪਚਰ ਦੋਵੇਂ ਨਾਕਾਮੀਆਂ ਨੂੰ ਛੇਤੀ ਵੱਖ ਕਰਦਾ ਹੈ। ਪੋਡ ਟਿਕਾਣਿਆਂ ਨਾਲ ਆ ਕੇ ਕਦੇ ਜਵਾਬ ਨਾ ਪਾਉਣ ਵਾਲੇ ਪੈਕਟ ਦਾ ਅਰਥ ਹੈ ਕਿ ਪੀਅਰ ਕੋਲ ਪੋਡ ਪ੍ਰੀਫਿਕਸ ਲਈ ਮਾਰਗ ਨਹੀਂ। ਗੇਟਵੇ ਤੇ ਦਿਸ ਕੇ ਕਲਸਟਰ ਤੱਕ ਕਦੇ ਨਾ ਪਹੁੰਚਣ ਵਾਲਾ ਜਵਾਬ ਦਾ ਅਰਥ ਹੈ ਕਿ ਸਥਾਨਕ ਮਾਰਗ ਗੁੰਮ ਹੈ। ਕਿਸੇ ਵੀ ਹਾਲਤ ਵਿੱਚ ਸਮਝੌਤਾ ਟਿਕਟ ਵਿੱਚ ਲਿਖੋ: ਪੀਅਰ ਕਿਹੜਾ ਸਰੋਤ ਵੇਖਦਾ ਹੈ, ਅਤੇ ਕਿਹੜੇ ਪ੍ਰੀਫਿਕਸ ਵੱਲ ਵਾਪਸ ਰੂਟ ਕਰਦਾ ਹੈ।
ਹਰ ਅਪਗ੍ਰੇਡ ਤੋਂ ਬਾਅਦ ਦੁਬਾਰਾ ਜਾਂਚੋ
masquerade ਦਾ ਡਿਫਾਲਟ ਵਿਵਹਾਰ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਵਾਰ ਬਦਲ ਚੁੱਕਾ ਹੈ, ਅਤੇ ਨੋਡ ਪੂਲ ਦੀ ਬਦਲੀ ਕਲਸਟਰ ਨੈੱਟਵਰਕਿੰਗ ਰੀਸੈਟ ਕਰ ਸਕਦੀ ਹੈ। ਸਰੋਤ ਸਮਝੌਤੇ ਨੂੰ ਮੰਨ ਲੈਣ ਵਾਲੀ ਚੀਜ਼ ਨਹੀਂ, ਜਾਂਚਣ ਵਾਲੀ ਚੀਜ਼ ਮੰਨੋ।
ਅਪਗ੍ਰੇਡ ਤੋਂ ਬਾਅਦ ਇੱਕ ਪੋਡ ਤੋਂ ਸਥਾਨਕ ਸੇਵਾ ਤੇ ਇੱਕ ਬੇਨਤੀ ਭੇਜੋ ਅਤੇ ਉਹ ਸਰੋਤ ਪੜ੍ਹੋ ਜੋ ਪੀਅਰ ਲਾਗ ਕਰਦਾ ਹੈ। ਉਹ ਇੱਕੋ ਨਿਰੀਖਣ ਅਜਿਹੀ ਰਿਗ੍ਰੈਸ਼ਨ ਫੜਦਾ ਹੈ ਜਿਸ ਨੂੰ ਸੁਰੰਗ ਸਥਿਤੀ ਪੰਨਾ ਖੁਸ਼ੀ ਨਾਲ ਸਿਹਤਮੰਦ ਦੱਸੇਗਾ। ਇਸ ਨੂੰ ਦੁਹਰਾਉਣ ਵਿੱਚ ਇੱਕ ਮਿੰਟ ਲੱਗਦਾ ਹੈ ਅਤੇ ਅਗਲੇ ਵਿਅਕਤੀ ਦੀ ਇੱਕ ਸ਼ਾਮ ਬਚਦੀ ਹੈ।