Readiness probe failed: HTTP probe failed with statuscode: 503 / connect: connection refused
The container is running, but its readiness check fails, so the pod is marked not ready and removed from Service endpoints.
Seen on:
Kubernetes
Meaning
Readiness decides whether traffic is sent to the pod. Failures mean the probe path/port is wrong, the app listens only on 127.0.0.1, it’s still starting, or a dependency check inside /health fails. Pods show 0/1 Running and the Service may have no endpoints.
Common causes
- Wrong port or path in the probe
- App bound to localhost instead of 0.0.0.0
- Startup slower than initialDelaySeconds
- Health endpoint checks a failing dependency (DB)
⚡ Quick fix
- Curl the probe endpoint from inside the pod
- Bind the app to 0.0.0.0 and the containerPort
- Add a startupProbe or increase initialDelaySeconds
Detailed fix by platform
Kubernetes
- bash
kubectl exec web-0 -- wget -qO- http://localhost:8080/ready kubectl describe pod web-0 | grep -A3 Readiness
YAML
- bash
readinessProbe: httpGet: { path: /ready, port: 8080 } initialDelaySeconds: 5 periodSeconds: 10 failureThreshold: 3
How to diagnose
- Probe — Path, port, scheme
- Listen — ss -ltnp inside the pod
- Timing — How long does startup take?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in Kubernetes
- error converting YAML to JSON error converting YAML to JSON: yaml: line 12: did not find expected key
- kubectl connection refused kubectl: The connection to the server localhost:8080 was refused — did you specify the right host or port?
- CreateContainerConfigError Kubernetes: CreateContainerConfigError — secret / configmap not found
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026