отчеты о состоянии узлов 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. Может кто поможет.
Ошибка, которую я опубликовал, на самом деле происходит от kube-apiserver.
По-видимому, kube-apiserver на моей машине использовал аргумент --etcd-servers =http: //x.x.x.x: 14001'. В моей настройке прокси ha будет слушать 14001, а затем перенаправлять его на 4001, где etcd будет слушать.
Изменение файла инициализации для kube-apiserver на использование порта 4001 напрямую решило проблему в моем случае.
Все еще не уверен, как haproxy мешает общению, но теперь все работает, как ожидалось.