Cluster Health Score Calculator
Generate an overall health score for a Kubernetes cluster from key operational metrics.
About Cluster Health Score Calculator
This score starts at 100 and subtracts weighted penalties for four common cluster distress signals: the proportion of unhealthy nodes (up to 30 points), pending/unschedulable pods (up to 20 points), pod restart churn (up to 25 points), and elevated etcd latency, which signals control-plane stress (up to 25 points). Formula: health = 100 − unhealthy_node_penalty − pending_pod_penalty − restart_penalty − etcd_penalty. Scores map to Healthy (90+), Degraded (75-89), At Risk (50-74) or Critical (<50).
Formula
Cluster health score
health = 100 - (unhealthy_nodes / total_nodes) × 30 - min(20, pending_pods / 10 × 20) - min(25, restarts / 5) - min(25, max(0, (etcd_latency_ms - 10) / 90 × 25))
- unhealthy_nodes
- Nodes reporting NotReady or pressure
- total_nodes
- Total cluster nodes
- pending_pods
- Pods stuck in Pending state
- restarts
- Pod restart count in the window
- etcd_latency_ms
- etcd p99 write/consensus latency (ms)
Worked example
With the default values below, Cluster Health Score Calculator returns Cluster Health Score of 85.3. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Total Nodesaccepts 1–100,000 nodes
- 20 nodes
- Unhealthy Nodesaccepts 0–100,000 nodes
- 1 nodes
- Pending Podsaccepts 0–1,000,000 pods
- 3 pods
- Pod Restart Countaccepts 0–1,000,000 restarts
- 15 restarts
- etcd Latencyaccepts 0–10,000 ms
- 25 ms
Results
- Cluster Health Score
- 85.3
- Health Status
- Degraded
- Unhealthy Node Penalty
- 1.5
- Pending Pod Penalty
- 6.0
- Restart Penalty
- 3.0
- etcd Latency Penalty
- 4.2
Step by step
- 1Unhealthy node penalty= 1.5
- 2Pending pod penalty= 6.0
- 3Restart penalty= 3.0
- 4etcd latency penalty= 4.2
- 5Cluster health score= 85.3 (Degraded)
Assumptions and limits
- The result is derived only from the 5 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why does etcd latency matter for overall cluster health?
etcd is the cluster's source of truth — the API server, scheduler and controllers all depend on fast etcd reads/writes. Elevated etcd latency (often from disk I/O contention or too many watchers) can cascade into slow scheduling, delayed reconciliation, and API timeouts cluster-wide.
What's a normal etcd latency?
Healthy etcd clusters typically see disk write / consensus latency (p99) under 10-25ms; sustained latency above 100ms is a strong signal of disk or network issues and often precedes broader cluster instability.
Why cap the pending-pod penalty at 20 points?
A handful of pending pods is often transient (waiting for a scale-up event) rather than a systemic issue, so the penalty scales linearly but is capped to avoid over-weighting a metric that self-resolves quickly compared to, say, persistent node failures.
Should pod restarts always be treated as bad?
Not always — some restarts are expected (rolling deploys, liveness probe recovery). This metric is best tracked as a rate/trend over a fixed window rather than a cumulative all-time count, so recalibrate the input to your chosen window.
Related Calculators
You might also need
- Pod Resource CalculatorCommonly used together
- Cluster Upgrade Time CalculatorCommonly used together
- Pod Anti-Affinity CalculatorCommonly used together
- etcd Storage Growth CalculatorCommonly used together
- Pod Eviction CalculatorCommonly used together
- Control Plane Resource CalculatorCommonly used together
