Readiness probe failed ☸️ Kubernetes

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

  1. Curl the probe endpoint from inside the pod
  2. Bind the app to 0.0.0.0 and the containerPort
  3. Add a startupProbe or increase initialDelaySeconds

Detailed fix by platform

Kubernetes

  1. bash
    kubectl exec web-0 -- wget -qO- http://localhost:8080/ready
    kubectl describe pod web-0 | grep -A3 Readiness

YAML

  1. bash
    readinessProbe:
      httpGet: { path: /ready, port: 8080 }
      initialDelaySeconds: 5
      periodSeconds: 10
      failureThreshold: 3

How to diagnose

  1. Probe — Path, port, scheme
  2. Listen — ss -ltnp inside the pod
  3. 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:

🧠 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.