GKE,卡住节点自动重启
GKE, automatic restart of stuck node
有时支持 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
节点可能会在未就绪状态下卡住几天,直到我手动重新启动它。
我对我的 pods 进行了健康检查,所以它们都转到了其他节点,但问题是这个陈旧的节点仍然附加了 GCE 磁盘。因此 pods 中的一些无法在任何其他节点上启动,直到我手动分离磁盘(或重新启动陈旧节点)。
这基本上扼杀了 Kubernetes 的整个想法,因为这种情况一天发生几次,所以我必须整天照顾它。有没有办法配置 Kubernetes 或 GCE 来自动执行此操作?最简单的方法是自动重启 NotReady
个节点,但似乎无法为节点本身配置健康检查。另一种选择是在从另一台机器请求时自动卸载磁盘,但我也没有看到任何配置方法。
GKE 具有节点自动修复功能,可以监控节点的健康状态并触发自动修复事件(目前是针对 NotReady 节点的节点重建)。它目前处于测试阶段,但您可以尝试一下:https://cloud.google.com/container-engine/docs/node-auto-repair
有时支持 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
节点可能会在未就绪状态下卡住几天,直到我手动重新启动它。
我对我的 pods 进行了健康检查,所以它们都转到了其他节点,但问题是这个陈旧的节点仍然附加了 GCE 磁盘。因此 pods 中的一些无法在任何其他节点上启动,直到我手动分离磁盘(或重新启动陈旧节点)。
这基本上扼杀了 Kubernetes 的整个想法,因为这种情况一天发生几次,所以我必须整天照顾它。有没有办法配置 Kubernetes 或 GCE 来自动执行此操作?最简单的方法是自动重启 NotReady
个节点,但似乎无法为节点本身配置健康检查。另一种选择是在从另一台机器请求时自动卸载磁盘,但我也没有看到任何配置方法。
GKE 具有节点自动修复功能,可以监控节点的健康状态并触发自动修复事件(目前是针对 NotReady 节点的节点重建)。它目前处于测试阶段,但您可以尝试一下:https://cloud.google.com/container-engine/docs/node-auto-repair