How to force delete a namespace?
A namespace has finalizers in spec (not in metadata):
spec:
finalizers:
- kubernetes
To force delete a namespace:
# Start the proxy in the background
$ kubectl proxy &
# Dump the namespace and remove `finalizers`
$ kubectl get namespace NAMESPACE -o json | jq '.spec = {"finalizers":[]}' > temp.json
# Force delete the namespace
$ curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/NAMESPACE/finalize
Recommended ReadingSponsored
Kubernetes
- Kubernetes - Overview
- Kubernetes - Static Pods
- Kubernetes - APIs
- Kubernetes - Distributions
- Kubernetes - Auth
- Kubernetes - Operators
- Kubernetes - Registries
- Kubernetes - Container Runtimes (CRI)
- Kubernetes - Storage (CSI)
- Kubernetes - Networking (CNI)
- Kubernetes - Bootstrapping
- Kubernetes - Testing
- Kubernetes - Source Code
- Kubernetes - kubeconfig
- Kubernetes - Webhooks
- Kubernetes - OS
- Kubernetes - DNS
- Kubernetes - Versus
- Kubernetes - Upgrade
- Kubernetes - Troubleshooting
- Kubernetes - Logging
- Kubernetes - AddOns
- Kubernetes - Pod Sandbox
- Kubernetes - cgroup
Kubernetes - Objects
Kubernetes - Components
Extending Kubernetes
Cloud Native Ecosystem
Kubernetes Troubleshooting

