Kublet PLEG不健康问题排障

做~自己de王妃 提交于 2020-08-11 07:42:23

环境:Rancher管控的K8S集群。

现象:某个Node频繁出现“PLEG is not healthy: pleg was last seen active 3m46.752815514s ago; threshold is 3m0s”错误,频率在5-10分钟就会出现一次。

排查:

  1. kubectl get pods --all-namespaces 发现有一个istio-ingressgateway-6bbdd58f8c-nlgnd一直处于Terminating状态,也就是说杀不死。
  2. 到Node上docker logs --tail 100 kubelet也看到这个Pod的状态异常:

    I0218 01:21:17.383650   10311 kubelet.go:1775] skipping pod synchronization - [PLEG is not healthy: pleg was last seen active 3m46.752815514s ago; threshold is 3m0s]
    ...
    E0218 01:21:30.654433   10311 generic.go:271] PLEG: pod istio-ingressgateway-6bbdd58f8c-nlgnd/istio-system failed reinspection: rpc error: code = DeadlineExceeded desc = context deadline exceeded
  3. kubelet delete pod尝试删除,命令挂住。
  4. kubectl delete pod --force --grace-period=0,强制删除Pod。
  5. 再到Node上检查这个容器是否真的被停止,docker ps -a| grep ingressgateway-6bbdd58f8c-nlgnd,看到容器处于Exited状态。
  6. 观察Node状态,问题依旧。
  7. 把Pod关联的Deployment删除,把一只处于Terminating的Pod用kubectl delete pod --force --grace-period=0的方式删除。
  8. 重新部署Deployment。
  9. 问题解决。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!