Skip to content

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.

Canonical link

Canonical URL: /atlas/readiness-probe-failing