我遇到了控制器管理器和调度程序没有响应的问题,这与我发现的 github 问题无关(rancher#11496,azure#173,...)
两天前,我们的 3 节点 HA 集群中的一个节点上的一个 POD 发生了内存溢出。在那个 rancher webapp 无法访问之后,我们找到了被入侵的 pod 并通过 kubectl 将其缩放到 0。但这需要一些时间,弄清楚一切。
从那时起,rancher webapp 工作正常,但控制器管理器和调度程序不断发出警报,无法正常工作。警报不是一致的,有时它们都在工作,有时它们的健康检查 URL 拒绝连接。
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 内存(Ubuntu 16、Docker 17.03.3)。
提前致谢 !