
The oc get clusteroperator (or oc get co) command can be used to list the cluster operators. Something like this should be returned. Notice in this example that the authentication operator is degraded.
~]$ oc get clusteroperator
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE
authentication 4.6.41 False True True 3h17m
cloud-credential 4.6.41 True False False 335d
cluster-autoscaler 4.6.41 True False False 335d
config-operator 4.6.41 True False False 335d
console 4.6.41 True False True 6d14h
csi-snapshot-controller 4.6.41 True False False 6d15h
dns 4.6.41 True False False 225d
etcd 4.6.41 True False False 335d
image-registry 4.6.41 True False False 6d15h
ingress 4.6.41 True False False 40d
insights 4.6.41 True False False 335d
kube-apiserver 4.6.41 True False False 335d
kube-controller-manager 4.6.41 True False False 335d
kube-scheduler 4.6.41 True False False 335d
kube-storage-version-migrator 4.6.41 True False False 6d13h
machine-api 4.6.41 True False False 335d
machine-approver 4.6.41 True False False 335d
machine-config 4.6.41 True False False 6d12h
marketplace 4.6.41 True False False 6d14h
monitoring 4.6.41 True False False 6d12h
network 4.6.41 True False False 335d
node-tuning 4.6.41 True False False 6d15h
openshift-apiserver 4.6.41 True False False 6d14h
openshift-controller-manager 4.6.41 True False False 17d
openshift-samples 4.6.41 True False False 6d15h
operator-lifecycle-manager 4.6.41 True False False 335d
operator-lifecycle-manager-catalog 4.6.41 True False False 335d
operator-lifecycle-manager-packageserver 4.6.41 True False False 6d14h
service-ca 4.6.41 True False False 335d
storage 4.6.41 True False False 225d
The oc describe clusteroperator command can be used to display more information about a cluster operator. In this example, the details of the authentication operator will be displayed, where the Status section might have details on why the operator is degraded.
There are a wide variety of issues that can cause an operator to become degraded, far too many to list here, so this is just a starting point when looking into why an operator is degraded.
~]# oc describe clusteroperator authentication
Status:
Conditions:
Last Transition Time: 2022-06-15T01:27:40Z
Message: OAuthRouteCheckEndpointAccessibleControllerDegraded: Get "https://oauth-openshift.apps.openshift.example.com/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
ProxyConfigControllerDegraded: endpoint("https://oauth-openshift.apps.openshift.example.com/healthz") found in NO_PROXY(".cluster.local,.svc,.example.com,localhost") is unreachable with proxy(Get "https://oauth-openshift.apps.openshift.example.com/healthz": context deadline exceeded) and without proxy(Get "https://oauth-openshift.apps.openshift.example.com/healthz": context deadline exceeded)
Reason: OAuthRouteCheckEndpointAccessibleController_SyncError::ProxyConfigController_SyncError
Status: True
Type: Degraded
Sometimes, when an operator is degraded, one or more resources associated with the operator may have some issue, such as some issue with pods or services or nodes, and so on, so you will almost always want to check the condition of the resources being used by the operator.
There are projects that maps to some of the operators.
- authentication operator = openshift-authentication project
- monitoring operator = openshift-monitoring project
Did you find this article helpful?
If so, consider buying me a coffee over at