Kublet PLEG不健康问题排障

环境:Rancher管控的K8S集群。git

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

排查:docker

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

    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. 问题解决。

相关issuecode

相关文章
相关标签/搜索