Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Fix for Kubernetes Namespace being stuck in the "Terminating" state
# Sometimes, when you attempt to delete a namespace in kubernetes, it can get stuck in the "terminating" state.
# This generally happens when there are resources still assigned to that namespace when it is deleted.
# The finalizers are unable to confirm that all resources are cleared out, so they fail and stay locked in the "terminating" state.
# You can fix it by doing the following:
# First, proxy the kubernetes api cluster to your local system
$ kubectl serve
# find each namespace impacted
$ kubect get namespace <ns> -o json > temp.json
# vi temp.json and remove the finalizer entry for ""
# for example
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "testing",
"selfLink": "/api/v1/namespaces/testing",
"uid": "33074e57-cb72-11e5-9d3d-28d2444e470d",
"resourceVersion": "234",
"creationTimestamp": "2016-02-04T19:05:04Z",
"deletionTimestamp": "2016-02-04T19:05:54Z"
"spec": {
"finalizers": [
"" <--- remove me
"status": {
"phase": "Terminating"
$ curl -H "Content-Type: application/json" -X PUT --data-binary @temp.json<name_of_namespace>/finalize
# wait a moment, and you should see your namespace removed
$ kubectl get namespaces
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.