K8S如何强制删除namespace

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S如何强制删除namespace相关的知识,希望对你有一定的参考价值。

我们有时候会遇到 namespace 无法删除的情况是因为 finalizers 属性的原因

1.将cert-mamaner导出为json文件

kubectl get ns cert-manager -o json > cert.json

2.编辑cert.json文件,将spec内的内容全部删除,然后保存退出

#  修改前
"spec":
"finalizers": [
"kubernetes"
]
,

# 修改后
"spec":
,

3.开启 proxy

kubectl proxy --port=8081

4.调用 api 进行删除

curl -k -H "Content-Type: application/json" -X PUT --data-binary @cert.json http://127.0.0.1:8081/api/v1/namespaces/cert-system/finalize

5.执行完命令后运行

kubectl get ns
default Active 244d
kube-system Active 244d
kube-public Active 244d
kube-node-lease Active 244d

发现已经成功删除了

以上是关于K8S如何强制删除namespace的主要内容,如果未能解决你的问题,请参考以下文章

k8s 删除namespace

k8s删除pod一直处于terminating状态

k8s删除pod一直处于terminating状态

k8s删除pod一直处于Terminating状态

k8s删除pod一直处于terminating状态

K8S-删除Terminating状态的namespace