K3s - 集群中同一 CIDR 子网中的两个 Pod 执行 SNAT

K3s - 集群中同一 CIDR 子网中的两个 Pod 执行 SNAT

我们有一个带有 etcd 的多主 k3s 集群。我们在部署中启动了 2 个 pod,它们都从同一个 CIDR 获取 IP,即 10.244.0.xx。节点 1 上的 cni0 接口 ip 为 10.244.1.1,节点 2 上的 cni0 接口 ip 为 10.244.0.1。我们使用 flannel 进行网络连接。

Pod 1 的 IP 是 10.244.0.33,Pod 2 的 IP 是 10.244.0.139,当我们从一个 Pod ping 到另一个 Pod 时,我们看到另一端收到的源 IP 是 cni0 intf IP(从 p1 ping 到 p2 时为 10.244.1.1)。

此配置不涉及任何服务。

我们如何避免这种情况?是否应该在同一子网 IP 上执行 NAT?

什么配置会改变此行为?感谢您对此的早期回复。

谢谢。

预期行为:当通信发生在来自同一子网的 IP 之间时,无需进行 SNAT。

相关内容