node-problem-detector is a daemon that runs on Kubernetes nodes to detect and report node problems to the cluster's API server.
The tool addresses the problem that node failures—such as infrastructure daemon issues, hardware faults, kernel problems, or container runtime failures—remain invisible to the cluster management stack, causing Kubernetes to continue scheduling pods to degraded nodes. node-problem-detector solves this by running as a daemon on each node, collecting problems from various sources, and reporting them upward as either NodeConditions for permanent issues that make a node unavailable or Events for temporary problems with limited impact. It can run as a DaemonSet or standalone, and is designed as a modular system where individual problem daemons monitor specific categories of node health and report findings to the main detector.
The tool suits operators managing Kubernetes clusters who need visibility into node health across their infrastructure. It is particularly valuable in environments where nodes may experience diverse failure modes that would otherwise go undetected. Organizations should adopt it if they want the cluster scheduler to respect node health status rather than blindly placing workloads on failing hardware. The project supports multiple problem daemon types that can be selectively compiled in or out depending on deployment needs, allowing operators to tailor the detector to their specific infrastructure concerns.
Development activity on the tool is characterized by a focus on merge-blocking issues, indicating that the project maintains strict quality gates for code integration and prioritizes resolving blocking problems before accepting changes.