What is the "PLEG is not healthy" issue?
This document (000021815) is provided subject to the disclaimer at the end of this document.
Environment
A Kubernetes cluster, running any distribution (e.g., RKE2, k3s).
Situation
- A node in your environment is responding erratically, switching between "active" and "unavailable" states, reporting a
NotReady
status with a "PLEG is not healthy" message. - In the kubelet logs, you can find many messages like this:
E0830 10:36:49.162629 3137 kubelet.go:2040] "Skipping pod synchronization" err="PLEG is not healthy: pleg was last seen active 3m3.978055897s ago; threshold is 3m0s"
Resolution
A potential quick fix to make your node available again could be restarting the affected services: restart kubelet, the container runtime, or even the whole node.
However, this will only be a temporary solution, as the root of the issue will still be present and could lead you to hit the error again in the future. As the "PLEG is not healthy" issue can have multiple origins, it will need a root cause analysis to understand what exactly triggered the issue on the first place.
As a lack of resources is the most common trigger, there are a few recommended actions that can help to avoid this problem:
- Set up a memory reservation for the kubelet and the operating system at a cluster level. You can find the steps on how to do so in this KB article.
- Make sure there are enough workers to host all application workloads.
- Optional/recommended: establish request/limits.
Cause
A "PLEG is not healthy" error in Kubernetes indicates the kubelet on a node cannot communicate with the Container Runtime (like contained or Docker), which disrupts the whole pod lifecycle management.
There may be multiple reasons behind an unhealthy PLEG error, but the most common are:
- High System Load: Excessive CPU, memory, or disk I/O on the node makes the container runtime unresponsive.
- Security Software Interference: Host-based firewalls or IDS/IPS might block communication between the kubelet and the container runtime socket.
- Bugs in certain older versions of the container runtime/kubelet versions (less common).
Additional Information
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021815
- Creation Date: 30-Apr-2025
- Modified Date:22-Sep-2025
-
- SUSE Rancher
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com