Skip to content

how to fix PLEG problem in Kubernetes

I’ve got kubelet message on our Kubernetes, the error message like below.

skipping pod synchronization - [PLEG is not healthy: pleg was last seen active 3m6.527452257s ago; threshold is 3m0s]

you can get the message from the rancher UI if using it.

image 1

Solution

According to the IBM document, this issue is caused by slow interaction between kubelet and Docker. the solution is to increase house-keeping interval, house-keeping is the kubelet evaluates eviction thresholds based on its configured housekeeping-interval which defaults to 10s.

Step

We are using RKE to deploy Kubernetes, so all components are running in the form of containers. use docker inspect kubelet` to see the configuration. no house-keeping argument in the below screenshot.

if your kubelet running as a service, you can modify /etc/systemd/system/kubelet.service

image

To update kubelet, add the house-keeping in the cluster.yml

image 2

To update the argument, run the below command

rke up --config cluster.yml
image 3

Verify

use docker inspect command to check again, house-keeping is added after updating.

image 4

Conclusion

“PLGE is not healthy” can happen due to various causes, I believe there are many potential causes I have not run into it. yet. this post provides one of the solutions to fix.