kubernetes/node-problem-detector

This is a place for various problem detectors running on the Kubernetes nodes.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 21 minutes ago
Added to GitGenius on September 20th, 2026
Created on May 17th, 2016
Open Issues & Pull Requests: 20 (+0)
GitHub issues: Enabled
Number of forks: 704
Total Stargazers: 3,462 (+0)
Total Subscribers: 53 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 603 days
Stale 30+ days: 8
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • lifecycle/rotten (32)
  • kind/bug (5)
  • kind/feature (5)
  • lifecycle/frozen (5)
  • lifecycle/stale (5)
  • sig/node (3)
  • kind/cleanup (2)
  • kind/failing-test (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

node-problem-detector is a Kubernetes daemon that detects and reports node problems to the cluster management stack.

The tool addresses the problem that infrastructure, hardware, kernel, and container runtime issues on nodes remain invisible to Kubernetes, causing the scheduler to continue placing pods on degraded nodes. node-problem-detector runs as a daemon on each node, monitors for various problem types, and reports them to the API server using either NodeCondition objects for permanent issues that make a node unavailable or Event objects for temporary problems with limited impact. The daemon can run as a DaemonSet or standalone, and is enabled by default in managed Kubernetes offerings including GKE and AKS.

The tool is suited for operators who need visibility into node health across their cluster. It works by composing multiple problem daemons, each monitoring a specific category of issues such as infrastructure services, hardware health, kernel stability, or container runtime responsiveness. Individual problem daemon types can be disabled at compilation time to reduce binary size and remove unused dependencies. This approach makes it appropriate for any Kubernetes deployment where node problems need to be surfaced to higher-level cluster management systems, though it is particularly valuable in large clusters where manual node monitoring is impractical.

The project maintains active development with regular updates to problem detection logic and daemon implementations. The codebase shows ongoing refinement of how problems are categorized and reported through the API. The tool continues to evolve its architecture, with plans documented to separate problem daemons into distinct containers composed via pod specifications rather than running as goroutines within a single binary. The project accepts contributions that extend problem daemon coverage and improve detection accuracy for existing problem categories.