【发布时间】:2017-05-30 22:34:09
【问题描述】:
有时支持 GKE 集群的节点出现故障,NotReady 状态:
$ kubectl get nodes
NAME STATUS AGE VERSION
gke-my-pool-f8045547-60gw Ready 10d v1.6.2
gke-my-pool-f8045547-7c7e NotReady 10d v1.6.2
节点可能会在 NotReady 中停留数天,直到我手动重新启动它。
我对我的 pod 进行了健康检查,所以它们都转到了其他节点,但是这个陈旧的节点仍然连接了 GCE 磁盘的问题。因此,某些 pod 无法在任何其他节点上启动,直到我手动分离磁盘(或重新启动陈旧节点)。
这基本上扼杀了 Kubernetes 的整个想法,因为这种情况每天发生几次,所以我必须整天照看它。有什么方法可以配置 Kubernetes 或 GCE 来自动执行此操作?最简单的方法是自动重启NotReady 节点,但似乎没有办法为节点本身配置健康检查。另一种选择是自动卸载磁盘,当它从另一台机器请求时,但我也看不到任何配置方法。
【问题讨论】:
-
从我在这里看到的kubernetes.io/docs/tasks/debug-application-cluster/…:
Currently Kubernetes won’t take any action on the node conditions and events generated by node problem detector. In the future, a remedy system could be introduced to deal with node problems.因此,这可能会在未来发生(但没有说明何时) -
您知道我可以使用标准 GCE 工具监控节点健康吗?它可以按条件重启节点,但我无法将它连接到 Kubernetes 健康端点
标签: kubernetes google-cloud-platform google-compute-engine google-kubernetes-engine