kube-proxy 报告错误的 ip 地址

kube-proxy reports wrong ip address

在我的 kubernetes 集群中,每个节点都是一个带有两个 NIC 的 virtualbox vm,eth0 用于 NAT,eth1 用于主机本地通信。

kubectl get pod --all-namespaces -o wide 显示

我们可以看到 k8s-3 和 k8s-4 报告了正确的 IP,而 k8s-2 没有。

我尝试在 k8s-2kube-proxy.yaml 中添加 --bind-address=192.168.99.202,但它不起作用。

有人有什么建议吗?

在您的 kubelet 中使用 --hostname-override 并将其设置为 ip。它会将您的节点名称变成您的 ip,但它会有正确的地址。我在我的测试集群(vagrant 和 virtualbox)上遇到了这个问题,我不得不做出改变。我还在我的 kube-proxy 中设置了主机名覆盖。我正在对我的 kube-proxy 问题进行故障排除,有一次我进行了更改,但这并不是最终解决问题的方法,所以我不确定是否真的需要。

如果您的 运行 flannel,请不要忘记确保其使用正确的 --iface,因为它喜欢使用 eth0。

https://github.com/kubernetes/kubernetes/issues/44702

通过将 --node-ip= 传递给 kubelet 解决了问题。