kubernetes节点状态报告如下。
root@csp-nso-server78:~# kubectl get nodes 10.213.5.78
NAME STATUS AGE
10.213.5.78 NotReady 1h
kubelet 日志显示以下错误
E0812 11:00:31.626169 10488 kubelet.go:2745] Error updating node status, will retry: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
E0812 11:00:31.696155 10488 kubelet.go:2745] Error updating node status, will retry: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
E0812 11:00:31.788017 10488 kubelet.go:2745] Error updating node status, will retry: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
E0812 11:00:31.897751 10488 kubelet.go:2745] Error updating node status, will retry: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
E0812 11:00:31.972326 10488 kubelet.go:2745] Error updating node status, will retry: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
E0812 11:00:31.972366 10488 kubelet.go:1183] Unable to update node status: update node status exceeds retry count
这似乎与 etcd 有关。有人能帮忙吗?
答案1
我发布的错误实际上来自 kube-apiserver。
显然,我机器上的 kube-apiserver 一直在使用参数“--etcd-servers=http://xxxx:14001'。在我的设置中,ha 代理将监听 14001,然后将其转发到 4001,etcd 将在此监听。
将 kube-apiserver 的初始化文件更改为使用端口 4001 直接解决了我的问题。
仍然不确定 haproxy 是如何阻碍通信的,但现在一切都按预期工作。