IBM Support

Openshift Pod Status Meanings

General Page

What do different pod statuses in OpenShift mean
In OpenShift, pods are the smallest deployable units that represent a set of running containers in your cluster. Pods can have various statuses that indicate their current state and operational readiness. Here are the common pod statuses and their meanings:
  1. Pending: The pod is accepted but not yet running, often waiting to be scheduled or for resources (e.g., images, volumes) to be provisioned.

    • Implications:
      • Scheduling Issues: Insufficient nodes, CPU, memory, or node taints preventing scheduling.
      • Image Pull Failures: Network issues, registry downtime, or missing image pull secrets.
      • Storage Delays: PersistentVolumeClaim (PVC) binding issues due to misconfigured storage classes or insufficient storage capacity.
      • Cluster Health: Scheduler or API server issues.
    • Actions:
      • Check the pod’s events for issues like image pull errors or scheduling failures:
        • oc get pods -n <namespace>
        • oc describe pod <pod-name> -n <namespace>
  2. Running: The pod is bound to a node, and all containers are created and running.

    • Implications:
      • The pod is operational, but monitor for resource contention or node health issues. Application-level issues (e.g., failing readiness probes) may exist.
    • Actions:
      • Verify logging/monitoring systems capture pod metrics:
        • oc get pods -n <namespace>
        • oc logs <pod-name> -n <namespace>
  3. Succeeded: All containers in the pod have terminated successfully (exit code 0) and won’t restart.

    • Actions:
      • Confirm the job’s output or logs to ensure task completion.
  4. Failed: At least one container terminated with a non-zero exit code, and no containers are running.

    • Implications:
      • Resource Limits: OOMKilled (exit code 137) due to memory limits or CPU throttling.
      • Node Issues: Disk pressure, network failures, or node crashes may cause failures.
      • Configuration Errors: Missing secrets, config maps, or storage volumes can trigger failures.
      • Image Issues: Invalid or inaccessible container images.
    • Actions:
      • Use oc describe pod <pod-name> or oc logs <pod-name> to investigate failure reasons.
  5. Unknown: The pod’s state cannot be determined, typically due to communication failures between the node and the control plane.

    • Implications:
      • Node Failure: The node may be down, unreachable, or experiencing kubelet issues.
      • Network Issues: Cluster networking problems preventing status updates.
      • Control Plane Issues: API server or etcd failures.
    • Actions:
      • Check node status: oc get nodes.
      • Restart kubelet: systemctl restart kubelet.
      • Investigate network connectivity and check control plane components:
        • oc get pods -n openshift-kube-apiserver
        • oc get clusteroperators.
      • Evict pods to reschedule: oc delete pod <pod-name> --force.
  6. CrashLoopBackOff (Condition, not a phase): A container is repeatedly crashing, and Kubernetes is waiting before restarting it.

    • Implications:
      • Resource Constraints: Memory or CPU limits causing crashes.
      • Node Issues: Disk or network problems affecting stability.
      • Configuration Issues: Missing or incorrect secrets, config maps, or environment variables.
    • Actions:
      • Check logs: oc logs <pod-name> --previous.
      • Review resource usage: oc adm top pod <pod-name>.
      • Validate node health: oc describe node <node-name>.
      • Ensure existence of secrets/config maps: oc get secret <secret-name> or oc get configmap <configmap-name>.
  7. Completed (Similar to Succeeded): The pod has finished successfully, and all containers exited with code 0.

    • Actions:
      • Review logs or output to confirm job success.
  8. ContainerCreating: The pod is being created, often pulling images or mounting volumes.

    • Implications:
      • Image Pull Delays: Network latency or registry issues.
      • Storage Issues: Slow volume provisioning or misconfigured storage classes.
    • Actions:
      • Check events: oc describe pod <pod-name>.
      • Verify registry connectivity and validate storage provisioner:
        • oc get storageclass
        • oc describe pvc.
      • Optimize image size or use a local registry.
  9. Error: The pod encountered an error during creation or execution, often due to misconfiguration.

    • Implications:
      • Configuration Issues: Invalid image, missing resources, or permissions.
      • Cluster Issues: Issues with underlying infrastructure components.
    • Actions:
      • Review events: oc describe pod <pod-name>.
      • Check RBAC permissions: oc describe sa <service-account-name>.
      • Validate infrastructure resources.
  10. Terminating: The pod is being deleted, either manually, via scaling, or eviction.

    • Implications:
      • Deletion Delays: Finalizers, graceful termination, or network issues.
      • Node Issues: Eviction due to node maintenance or resource pressure.
    • Actions:
      • Check finalizers: oc get pod <pod-name> -o yaml.
      • Force deletion: oc delete pod <pod-name> --force.
      • Review node events: oc describe node <node-name>.
      • Ensure proper node drainage: oc adm drain <node-name>.

[{"Type":"MASTER","Line of Business":{"code":"","label":""},"Business Unit":{"code":"","label":""},"Product":{"code":"SSNR6KN","label":"IBM Technology Zone"},"ARM Category":[{"code":"a8mKe0000004CVgIAM","label":"Content-\u003EVMWare"}],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":""}]

Document Information

Modified date:
20 June 2025

UID

ibm17236474