Liveness probe failed ... Container will be restarted (also Startup probe failed)
The kubelet’s liveness (or startup) check failed enough times that it killed and restarted the container.
Seen on:
Kubernetes
Meaning
Liveness probes restart stuck apps — but a probe that’s too strict restarts healthy ones: slow JVM/Rails startup, GC pauses, heavy load or a dependency check inside the endpoint. The restarts then look like CrashLoopBackOff with exit code 137/143.
Common causes
- Startup longer than initialDelaySeconds × failureThreshold
- timeoutSeconds too short under load
- Probe hits an endpoint that checks the database
- Wrong port/path
⚡ Quick fix
- Add a startupProbe for slow starts
- Raise timeoutSeconds/failureThreshold
- Make liveness check only the process itself, not dependencies
Detailed fix by platform
YAML
- bash
startupProbe: httpGet: { path: /healthz, port: 8080 } failureThreshold: 30 periodSeconds: 10 livenessProbe: httpGet: { path: /healthz, port: 8080 } timeoutSeconds: 3 failureThreshold: 3
How to diagnose
- Events — Liveness/Startup failure messages
- Timing — Restart time vs startup duration
- Endpoint — What does it check?
🔧 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