Kubernetes Pod Oubound Traffic DNAT规则

时间:2020-06-18 12:31:24

标签: networking kubernetes nat calico

我们在防火墙后面的专用网络中运行 K8S 群集,该群集具有令人讨厌的反向NAT规则,这些规则阻止我们的主机通过公共IP连接到自身。

问题

我需要从Pod内部连接到无法解析为公共IP 203.X.X.X的服务。但是,我可以通过专用IP 192.Y.Y.Y

连接到此服务

我可以在运行pod的节点上设置 iptables 规则,如下所示:

iptables -A OUTPUT -t nat -p tcp -d 203.X.X.X --dport 80 -j DNAT --to-destination 192.Y.Y.Y:80

然后,我可以从节点成功连接到服务,但不能从此节点上运行的pod成功连接。

使用 hostAliases 的解决方案无法正常工作,

  • 事先不知道主机名
  • 希望将所有流量重新路由到已知的公共(无法访问的)IP到各自的专用IP

PS: 我们使用calico作为网络插件

0 个答案:

没有答案