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 中,它确实适用于启动。
感谢您的支持。
我们正在使用 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 中,它确实适用于启动。
感谢您的支持。