Fix Pod Probe Failed OpenShift¶
Introduction¶
Health probes decide when OpenShift sends traffic to a pod and when the kubelet restarts it. Bad probe paths, slow startup, or missing ports can make a healthy application look broken.
Symptoms¶
Typical symptoms include failed pods, route errors, denied requests, unhealthy operators, or command errors that repeat after retries.
Common Causes¶
- Using a liveness probe for slow dependency checks.
- Setting initialDelaySeconds too low for JVM or large applications.
- Pointing probes at a route instead of the local container endpoint.
Step 1: Check the Current Status¶
oc describe deployment web -n app
oc set probe deployment/web --readiness --get-url=http://:8080/ready -n app
oc set probe deployment/web --liveness --get-url=http://:8080/health -n app
oc rollout status deployment/web -n app
Example output:
deployment.apps/web probes updated
deployment "web" successfully rolled out
Step 2: Inspect Logs and Events¶
oc describe pod -l app=web -n app
oc get events -n app --field-selector involvedObject.kind=Pod
oc exec deploy/web -n app -- curl -sS http://127.0.0.1:8080/ready
Step 3: Verify Configuration¶
Compare the object selectors, service account, image reference, route target, or operator status with the failing symptom. In OpenShift, events often show the exact admission, scheduling, pull, SCC, or route reason.
Example YAML¶
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 10
periodSeconds: 5
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
Step 4: Apply the Fix¶
Apply the smallest targeted fix: correct the selector, update the route or service port, link the pull secret, grant the specific RBAC or SCC permission, or repair the unhealthy operator dependency.
Step 5: Confirm the Problem Is Resolved¶
Run the verification commands again and confirm the status, events, and user-facing test all agree.
Common Mistakes¶
- Using a liveness probe for slow dependency checks.
- Setting initialDelaySeconds too low for JVM or large applications.
- Pointing probes at a route instead of the local container endpoint.
Quick Checklist¶
- Confirm the active project.
- Inspect the exact object named in the error.
- Read recent events.
- Apply one focused fix.
- Verify status after the change.
Related Guides¶
Summary¶
Fix Pod Probe Failed OpenShift requires matching the symptom to the OpenShift object that owns it. Use oc status commands, events, logs, and focused verification so the fix is tied to evidence.