k8s-pod-terminating

Kubernetes Pod 卡在 Terminating 的定位与修复

现象

kubectl delete pod 后 Pod 长时间处于 Terminating,无法删除,也可能阻塞命名空间删除或节点维护。

快速定位

kubectl get pod <pod> -n <ns> -o yaml
kubectl describe pod <pod> -n <ns>
kubectl get pod <pod> -n <ns> -o jsonpath='{.metadata.finalizers}'
kubectl get events -n <ns> --sort-by=.lastTimestamp | tail -20

节点:

systemctl status kubelet
journalctl -u kubelet --since '30 min ago' | grep -i -E 'terminat|unmount|volume'

常见根因

  1. finalizer 未清理,控制器没有完成收尾。
  2. 卷卸载/删除卡住(CSI、云盘、NFS)。
  3. 节点失联或 kubelet 不响应,状态无法回写。
  4. 优雅终止时间过长,进程不退出。
  5. 准入 Webhook 或命名空间控制器异常。

修复

相关命令