在我的kubernetes集群中,每个节点都是一个虚拟机vm,其中包含两个NIC,eth0表示NAT,eth1表示主机 - 本地通信。
kubectl get pod --all-namespaces -o wide
显示
我们可以看到k8s-3和k8s-4报告正确的IP,而k8s-2则没有。
我尝试在--bind-address=192.168.99.202
的{{1}}中添加k8s-2
,但它无效。
有人有什么建议吗?
答案 0 :(得分:0)
在你的kubelet中使用--hostname-override并将其设置为ip。它会将您的节点名称放入您的IP,但它将具有正确的地址。我在我的测试集群(vagrant和virtualbox)上遇到了这个问题,我不得不做出改变。我还在我的kube-proxy中设置了hostname-overide。我正在使用我的kube-proxy解决问题,并且在某一点上我做了这个改变,但这不是最终解决它的问题所以我不确定是否真的需要。
如果你正在运行法兰绒,请不要忘记确保使用正确的 - 因为它喜欢使用eth0。
答案 1 :(得分:0)
https://github.com/kubernetes/kubernetes/issues/44702
通过将--node-ip=
传递给kubelet来解决问题。