Terminating ☸️ Kubernetes

Pod stuck in Terminating state

kubectl delete pod hangs and the pod shows Terminating for minutes or forever.

Seen on: Kubernetes

Meaning

Deletion waits for the containers to stop (up to terminationGracePeriodSeconds), volumes to detach and finalizers to be removed. A dead or unreachable node never confirms, and a finalizer left by a controller that’s gone blocks deletion indefinitely.

Common causes

  • Node NotReady/unreachable so the kubelet never confirms
  • Finalizers on the pod
  • App ignores SIGTERM and waits the full grace period
  • Volume detach stuck

⚡ Quick fix

  1. Check the node state and pod finalizers
  2. Remove finalizers if the controller is gone
  3. Last resort: kubectl delete pod --grace-period=0 --force

Detailed fix by platform

Kubernetes

  1. bash
    kubectl get pod web-0 -o jsonpath='{.metadata.finalizers}'
    kubectl patch pod web-0 -p '{"metadata":{"finalizers":null}}'
    kubectl delete pod web-0 --grace-period=0 --force

How to diagnose

  1. Node — kubectl get node of the pod
  2. Finalizers — metadata.finalizers
  3. Grace — terminationGracePeriodSeconds

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.