我想在pod中访问一些外部Saas api端点。我用法兰绒作为kubernetes网络。但是当我尝试在一个pod中ping外部IP时,数据包将被发送而不会伪装。所以ping无法成功
我发现了这个: https://docs.openshift.org/latest/dev_guide/integrating_external_services.html 在没有选择器的情况下创建服务并附加相关端点后,我可以在pod中获取外部服务。
我还可以在节点上添加10.254.0.0/16上的iptables masquerade,以便直接访问外部端点,如下所示:
iptables -t nat -A -A POSTROUTING -s 10.254.61.0/24 ! -d 10.254.0.0/16 -j MASQUERADE
但我们不能直接访问外部Saas端点吗?
kubernetes或flannel(或其他网络插件?)上是否有可以直接进行内部到外部通信的配置?
由于
答案 0 :(得分:0)
如果你告诉它[1],那么kubelet将确保创建iptables postrouting规则但是我怀疑你正在运行--configure-cbr0 = false,因为你想允许法兰绒设置容器网络。我相信你可以告诉法兰绒为你设定规则:
flanneld --help
...
-ip-伪装 为覆盖网络之外的流量设置IP伪装规则