Skip to content

Atlas Entry

Atlas: Pod Stuck Terminating

Pods remain in Terminating for an extended period; replacement pods may be blocked or traffic becomes unstable.

Text

Symptom → evidence → resolution.

Symptom

Pods remain in Terminating for an extended period; replacement pods may be blocked or traffic becomes unstable.

OperationsReliabilityStorage

What this usually means

Kubernetes is waiting for cleanup: a finalizer to complete, a volume to detach, or a node/kubelet to acknowledge termination. Force-deleting too early destroys evidence and can widen impact.

What to inspect first

Read deletion timestamps, finalizers, and node health.

  • If the node is NotReady, termination may be blocked on kubelet reachability.
  • Finalizers are explicit; identify which controller owns them.

kubectl

shell

kubectl get pod <pod> -n <ns> -o json | rg -n "deletionTimestamp|finalizers"

kubectl

shell

kubectl describe pod <pod> -n <ns>
kubectl get node -o wide

Resolution guidance

Prefer restoring controller/node health over forcing deletes.

  • If a node is unhealthy, contain impact (cordon/drain posture) and recover/replace the node.
  • If finalizers are stuck due to a failing controller, restore the controller and let it clean up.
  • Force deletion is a last resort; when used, document and audit it—especially with stateful workloads.

Canonical link

Canonical URL: /atlas/pod-stuck-terminating