deployment 里有 2 个 pod ,通过 nodeport 类型的 service 暴露出去,pod 端口,service 端口,nodeport 端口都是 8086 。
kube-proxy 使用 ipvs 模式,telnet 127.0.0.1 8086 不通,换成本机 eth0 核 podip 都能通,尝试删除 ipvs 127.0.0.1:8086 那条规则后 telnet 127.0.0.1 8086 通了,为什么?
1
lamesbond OP |
2
FabricPath 2022-01-06 14:03:18 +08:00
信息太少,和你的路由表、iptables 都有关,贴出
ip route iptables-save ipvsadm-save ip rule (如果有策略路由还需要 ip route show table xxxx 给每个 table) 看你截图,估计是只做了 DNAT (这是正常的)但是没有做 SNAT ,到 Pod 里面去之后,Pod 回包回不回来,到 Pod 里面去 tcpdump -vv -n -i any tcp port 8086 看看不同情况下源 IP 的差异 |