Fix ClusterOperator Degraded¶
Introduction¶
ClusterOperators report health for core OpenShift components. A Degraded or Progressing operator should be investigated with its status message, related pods, and namespace events.
Symptoms¶
Typical symptoms include failed pods, route errors, denied requests, unhealthy operators, or command errors that repeat after retries.
Common Causes¶
- Reacting only to the table status and ignoring the message.
- Checking application namespaces for platform operator pods.
- Restarting operator pods before reading events.
Step 1: Check the Current Status¶
oc get clusteroperators
oc describe clusteroperator ingress
oc get pods -n openshift-ingress-operator
oc get events -n openshift-ingress-operator --sort-by=.lastTimestamp
Example output:
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE
ingress 4.15.12 True False False 8d The ingress operator is available.
Step 2: Inspect Logs and Events¶
oc get co ingress
oc describe co ingress
oc get pods -n openshift-ingress-operator
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.
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¶
- Reacting only to the table status and ignoring the message.
- Checking application namespaces for platform operator pods.
- Restarting operator pods before reading events.
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 ClusterOperator Degraded 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.