Atlas Entry
Atlas: Readiness Probe Failing
Pods run but never become Ready; traffic does not route to the workload.
Text
Symptom → evidence → resolution.
Symptom
Pods run but never become Ready; traffic does not route to the workload.
WorkloadsNetworkingReliabilityOperations
What this usually means
Your workload is running, but Kubernetes will not route traffic to it. Readiness is a gating signal; when it is wrong, it creates outages that look like networking problems.
Likely causes
Probe failures are often mis-specified semantics, not platform failure.
- Probe points at the wrong path/port or assumes localhost vs service address.
- Startup time exceeds probe thresholds; timeouts too small under load.
- Probe gates on a dependency that is allowed to be temporarily absent (causes self-inflicted unavailability).
- NetworkPolicy blocks the probe path if it crosses namespaces or uses sidecars.
What to inspect first
Read events and verify the probe endpoint from within the pod namespace.
- Observe failure message and cadence.
- Confirm the application actually listens where the probe checks.
kubectl
shell
kubectl describe pod <pod> -n <ns>
kubectl get pod <pod> -n <ns> -o yaml | rg -n "readinessProbe|httpGet|tcpSocket|exec"Resolution guidance
Readiness should mean “can serve”. Keep it fast, meaningful, and aligned to reality.
- Adjust timeouts/failureThreshold to match real startup characteristics.
- Avoid readiness that depends on fragile external systems unless required.
- Prefer startupProbe for slow initialization and keep liveness conservative.
Related
Canonical link
Canonical URL: /atlas/readiness-probe-failing