Kubernetes pod 无法与同一节点中的其他 pods 通信

Kubernetes pod can't communicate with other pods in the same node

我们正在使用 Kubernetes 1.21.7、Istio 1.11.4、Flannel 0.14.0。

kubectl get nodes
NAME     STATUS   ROLES                  AGE    VERSION
k8s-d0   Ready    control-plane,master   204d   v1.21.7
k8s-d1   Ready    <none>                 204d   v1.21.7
k8s-d2   Ready    <none>                 204d   v1.21.7

如果pod-a和pod-b在同一个节点,比如k8s-d1,它们是不能通信的(比如用curl)。但是,如果我强制 pods 在不同的节点中,它们就可以很好地通信。 这个问题只发生在“istio-system”命名空间中,但它似乎不是 Istio 的错误(我已经尝试打开一个问题 here,但没有成功)

我想出了缺少的东西:

modprobe br_netfilter
echo "br_netfilter" >> /etc/modules-load.d/modules.conf

同时,我重新启动了这些节点,但 br_netfilter 没有自动加载。现在它写在 /etc/modules-load.d/modules.conf 中,它确实适用于启动。

感谢您的支持。