Force-remove stuck Terminating pod

Clear finalizers to unstick a pod hung in Terminating; note: confirm node is gone first

kubectl patch po <pod> -n <ns> -p '{"metadata":{"finalizers":null}}' --type=merge; kubectl delete po <pod> -n <ns> --grace-period=0 --force

tool
k8s-debug27 commands
tags
k8s-debugtroubleshootingk8s

More k8s-debug commands

  • kubectl get --raw /api/v1/nodes/<node>/proxy/stats/summary | jq '.pods[] | {name:.podRef.name, mem:.memory.workingSetBytes}'

    Pull live per-pod memory from kubelet Summary API, bypassing metrics-server

  • kubectl debug node/<node> -it --image=nicolaka/netshoot -- conntrack -S

    Check per-CPU conntrack drops/insert_failed; nf_conntrack table exhaustion drops packets

  • kubectl run dnstest --rm -it --image=nicolaka/netshoot --restart=Never -- dig +short <name>.<ns>.svc.cluster.local

    Resolve a Service FQDN from an ephemeral pod to isolate CoreDNS vs app DNS issues

  • kubectl events --for pod/<pod> -n <ns> --types=Warning

    Stream only Warning events scoped to one pod in chronological order; modern: replaces get events filter

  • kubectl logs <pod> -n <ns> -c <name> --previous --timestamps --tail=200

    Tail the crashed container's prior instance logs to catch the pre-restart stack trace

all 27 k8s-debug commands