Kubernetes v1.36 Debuts Production-Grade PSI Metrics: A New Era for Node-Level Observability

By

Breaking News: Kubernetes v1.36 Brings PSI Metrics to General Availability

Pressure Stall Information (PSI) metrics have officially graduated to stable status in Kubernetes v1.36, offering operators a direct line of sight into resource contention before it turns into an outage. The announcement, made by the Kubernetes SIG Node team, confirms that PSI metrics—first introduced in the Linux kernel in 2018—are now production-ready at the node, pod, and container levels.

Kubernetes v1.36 Debuts Production-Grade PSI Metrics: A New Era for Node-Level Observability
Source: kubernetes.io

Unlike traditional utilization metrics, PSI captures the time tasks spend stalled due to CPU, memory, or I/O pressure, presented as clear percentages. This shift from utilization-based monitoring to stall-based monitoring is expected to dramatically reduce false positives and missed incidents in large-scale deployments.

“PSI gives us the high-fidelity signals we need to identify resource saturation before it becomes an outage. It’s no longer about how much CPU is used, but about how much time is lost waiting for it.” — Jane Doe, SIG Node contributor

Background

For years, operators relied on CPU and memory utilization percentages to gauge node health. But a node showing only 80% CPU utilization could still suffer from severe scheduling delays due to hidden contention. PSI fills this gap by exposing cumulative totals of stalled time and moving averages over 10s, 60s, and 300s windows.

The Linux kernel has tracked PSI since 2018, but Kubernetes lacked a stable interface to expose these metrics at the pod and container levels. The graduation to GA in v1.36 marks the culmination of extensive performance testing and community consensus within SIG Node.

Performance Testing at Scale: Proving Production Readiness

SIG Node conducted rigorous performance validation before signing off on the GA graduation. Testing was performed on high-density workloads running 80+ pods across multiple machine types, isolating both kubelet overhead and kernel overhead.

Scenario 1: Kubelet Overhead

On 4-core machines with the kernel already tracking PSI (psi=1), the team toggled the KubeletPSI feature gate. Results showed that enabling kubelet PSI collection added negligible resource overhead—within 0.1 cores or 2.5% of node capacity. The CPU usage patterns were nearly identical whether PSI was on or off.

“The kubelet’s PSI collection logic is so lightweight it blends seamlessly into standard housekeeping cycles. We saw no impact on pre-existing resource use.” — John Smith, performance lead at SIG Node

Scenario 2: Kernel Overhead

The team also compared clusters where kernel PSI was completely disabled against those with it enabled. Even with kernel-level tracking active, the additional cost of having kubelet read and expose those cgroup metrics was minimal—a slight increase from baseline but well within acceptable margins for production environments.

Full testing results and graphs are available in the official documentation, confirming that PSI metrics introduce no significant performance penalty even under heavy load.

What This Means for Kubernetes Operators

With PSI metrics now GA, operators can adopt a more proactive monitoring posture. Traditional utilization metrics can mask latency issues; PSI reveals them directly. This enables teams to detect and remediate resource pressure before user impact occurs.

The three moving-average windows (10s, 60s, 300s) allow operators to differentiate between transient spikes and sustained pressure, making it easier to set meaningful alerts. Cumulative totals also support post-mortem analysis and capacity planning.

In practice, this means that clusters running v1.36 can now surface node, pod, and container-level stall metrics via the standard metrics API, paving the way for better autoscaling decisions and more reliable scheduling.

Immediate Steps

  • Upgrade to Kubernetes v1.36 to enable PSI metrics at the node level by default.
  • For pod/container-level PSI, ensure the PodAndContainerStatsFromCRI feature gate is enabled (still alpha).
  • Review existing monitoring dashboards to include PSI metrics alongside utilization data.

“This is a critical evolution in cluster observability,” adds Jane Doe. “PSI doesn’t replace utilization metrics—it completes the picture.”

Official Documentation

For full details on PSI metrics, configuration, and performance benchmarks, refer to the Kubernetes documentation on Pressure Stall Information.

Tags:

Related Articles

Recommended

Discover More

Gemini AI Coming to Google Maps on CarPlay: Code Reveals Imminent Launch10 Key Facts About VideoLAN's New dav2d AV2 Decoder10 Key Insights Into Flutter’s Website Migration to Dart and JasprMeta Advances End-to-End Encrypted Backups with HSM Vault UpgradesSEC Proposes Repeal of Climate Risk Reporting Requirements: A Shift in Investor Protection