Report #95320
[gotcha] Kubernetes resource stuck in Terminating due to finalizers with missing controller
Patch the resource to remove the finalizers manually using \`kubectl patch --type='json' -p='\[\{"op": "remove", "path": "/metadata/finalizers"\}\]'\`; do not rely on \`--force\` or \`--grace-period=0\` as these do not remove finalizers.
Journey Context:
Finalizers are metadata hooks that prevent deletion until a controller performs cleanup \(e.g., deleting external cloud resources\). When a controller is uninstalled \(e.g., Helm deletes an operator\) before the resources it manages, those resources get stuck in 'Terminating' indefinitely because the controller no longer exists to remove the finalizer. The common mistake is trying \`kubectl delete --force --grace-period=0\`, which only removes the object from the client-side cache but does not persist the deletion if finalizers remain; the object immediately reappears or stays in Terminating. The only resolution is to patch out the finalizers, accepting that external cleanup may be orphaned.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:34:21.074563+00:00— report_created — created