我有一个控制器管理器和调度程序没有响应的问题,这与我发现的github问题无关(rancher#11496,azure#173,...)
两天前,我们的3节点HA群集中的一个节点上有一个POD内存溢出。在那个牧场主webapp无法访问之后,我们找到了受损的pod并将其缩放到了kubectl上的0。但这需要一些时间,把所有事情搞清楚。
从那以后,rancher webapp工作正常,但是控制器管理器和调度程序的连续警报无法正常工作。警报不包括在内,有时它们都在工作,有时它们的健康检查网址拒绝连接。
NAME STATUS MESSAGE ERROR
controller-manager Unhealthy Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused
scheduler Healthy ok
etcd-0 Healthy {"health": "true"}
etcd-2 Healthy {"health": "true"}
etcd-1 Healthy {"health": "true"}
在受损节点上重新启动控制器管理器和调度程序尚未生效。甚至重新加载所有组件
docker restart kube-apiserver kubelet kube-controller-manager kube-scheduler kube-proxy
也没有效果。
有人可以帮我找出解决问题和解决此问题的步骤,而无需停机运行容器吗?
节点在DigitalOcean上托管在具有4个核心和8GB RAM的服务器上(Ubuntu 16,Docker 17.03.3)。
提前致谢 !
要查看的第一个区域是您的日志...您可以导出以下日志并附加吗?
/var/log/苦逼哦-controller-manager.log
控制器管理器是一个端点,因此您需要执行“获取端点”。你能运行以下内容:
kubectl -n kube-system获取端点kube-controller-manager
和
kubectl -n kube-system描述端点kube-controller-manager
和
kubectl -n kube-system get endpoints kube-controller-manager -o jsonpath ='{。metadata.annotations.control-plane.alpha.kubernetes.io/leader}'