1、起因
为了需要安装了clusterpolicy
中的snyc-secret-policy
服务资源,向新生成的namespace
中自动挂载docker secret
,当某个namespace
需要删除的时候,导致了这个namespace
空间删除不掉的情况,一直处于Terminating
状态,使用kubectl delete ns <terminating-namespace> --force --grace-period=0
重启kubelet
也无法被删除。
2、解决方法
- 查看
- 导出
1
| kubectl get namespace <terminating-namespace> -o json >tmp.json
|
- 删除
tmp.json
中的finalizers
的值
1 2 3 4 5 6 7 8
| { ...... "spec": { "finalizers": [ ] }, ...... }
|
- 开启
proxy
- 打开新的窗口删除
namespace
1 2 3
| curl -k -H "Content-Type: application/json" -X PUT \ --data-binary @tmp.json \ http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize
|
- 验证
namespace
是否被删除