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
- Check the node state and pod finalizers
- Remove finalizers if the controller is gone
- Last resort: kubectl delete pod --grace-period=0 --force
Detailed fix by platform
Kubernetes
- 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
- Node — kubectl get node of the pod
- Finalizers — metadata.finalizers
- 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:
Similar errors
Most viewed in Kubernetes
- error converting YAML to JSON error converting YAML to JSON: yaml: line 12: did not find expected key
- kubectl connection refused kubectl: The connection to the server localhost:8080 was refused — did you specify the right host or port?
- CreateContainerConfigError Kubernetes: CreateContainerConfigError — secret / configmap not found
Other ways to find it
🧠 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.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026