Kubernetes readiness probes are supposed to answer one simple question:
“Can this pod handle traffic?”
In practice, they often answer a very different one:
“Is this process responding to HTTP?”
And that difference causes real production incidents.
What Readiness Probes Actually Do
A typical readiness probe looks like this:
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
If /health returns 200 OK, Kubernetes marks the pod as Ready.
Traffic starts flowing.
But this assumes:
• dependencies are healthy
• connections are available
• resources are sufficient
• internal state is stable
None of these are guaranteed.
The False Positive Problem
Most readiness endpoints check only:
• application process is running
• HTTP server responds
But production readiness depends on:
• database connectivity
• cache availability
• downstream service latency
• thread pool availability
• connection pool saturation
So you get a situation like:
/readiness → 200 OK
real system → degraded or failing
This creates false confidence in system health.
Real Incident Pattern
Symptom:
• intermittent 500 errors
• increased latency
Kubernetes view:
• all pods are Ready
• no restarts
• no alerts
Reality:
• DB connection pool exhausted
• service returns 200 for health check
• actual requests fail under load
Traffic keeps routing to unhealthy pods because readiness probe says everything is fine.
Why This Happens in Kubernetes
-
Health Endpoints Are Oversimplified
Most teams implement:
return "OK";
This ignores real system dependencies.
-
Dependency Checks Are Avoided
Teams avoid checking dependencies in readiness probes because:
• it adds latency
• it can cause flapping
• it increases complexity
So probes become superficial.
No Context of System Behavior
Readiness probes are binary:
Ready / Not Ready
But real systems operate in:
• degraded states
• partial failures
• high-latency conditions
Kubernetes cannot interpret these nuances.
Advanced SRE Perspective on Readiness
Mature systems treat readiness as context-aware, not binary.
Instead of simple checks, they consider:
🔗 Dependency Health
Is DB reachable?
Are downstream services responding within SLA?
⚡ Resource State
Is CPU throttled?
Is memory near limit?
Are threads exhausted?
⏱️ Latency Thresholds
Is response time acceptable, not just successful?
🧠 Degradation Awareness
Should traffic be reduced instead of completely stopped?
The Bigger Problem: Misleading Signals
The real issue is not just readiness probes.
It’s that they create a false signal.
SREs see:
• all pods healthy
• no restarts
• green dashboards
But users experience:
• errors
• slow responses
• failed transactions
This disconnect increases MTTR significantly.
How KubeHA Helps
KubeHA addresses this gap by going beyond binary health signals.
Instead of relying only on readiness status, it correlates:
• pod readiness state
• actual request latency
• error rates
• dependency performance
• Kubernetes events
• deployment changes
🔍 Detect False Readiness
KubeHA can highlight scenarios like:
“Pods are marked Ready, but error rate increased 3x and DB latency spiked.”
🔗 Correlate Dependency Impact
Example insight:
“Service marked healthy, but downstream payment-service latency increased after deployment v2.1.”
⏱️ Real System Health Visibility
Instead of:
❌ Ready / Not Ready
You get:
✅ Healthy / Degraded / Failing with context
⚡ Faster Root Cause Identification
KubeHA helps answer:
• Why are requests failing even when pods are Ready?
• Which dependency is causing degradation?
• Did a recent change trigger this behavior?
Real Outcome for Teams
Teams using deeper correlation (like KubeHA) achieve:
• faster detection of hidden failures
• reduced false confidence in system health
• better traffic routing decisions
• improved reliability under load
Final Thought
Readiness probes are necessary.
But they are not sufficient.
A system can be “Ready” and still be broken.
True reliability comes from understanding how the system behaves under real conditions, not just whether it responds.
👉 To learn more about Kubernetes health checks, readiness vs real availability, and production reliability patterns, follow KubeHA (https://linkedin.com/showcase/kubeha-ara/).
Read more: https://kubeha.com/your-readiness-probe-is-probably-lying/
Book a demo today at https://kubeha.com/schedule-a-meet/
Experience KubeHA today: www.KubeHA.com
KubeHA’s introduction, https://www.youtube.com/watch?v=PyzTQPLGaD0
Top comments (2)
Good information on handling/understanding Readiness Probe
KubeHA correlation feature helps a lot here.