强制删除kubernetes中的处于Terminating状态的资源
1 强制删除 kubernetes 中的pod 资源# pod处于 Terminating 状态,先查看该pod是否有对应的deployment资源和replicaset资源,如果有这两种资源先删除这两种资源kubectl delete deployment <deploy-name> -n namespacekubectl delete rc <rc-name -n> n
·
1 强制删除 kubernetes 中的pod 资源
# pod 处于 Terminating 状态,先查看该 pod 是否有对应的 deployment 资源和 replicaset 资源,如果有这两种资源先删除这两种资源
kubectl delete deployment <deploy-name> -n namespace
kubectl delete rc <rc-name -n> namespace
# 再去删除 pod
kubectl delete pod <pod-name> --grace-period=0 --force
# 如果在这些命令后 pod 仍处于 `Unknown` 状态 或者 `Terminating` ,请使用下面命令从集群中删除 pod
kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}' -n namespace
2 强制删除namespace
当我们执行 kubectl delete ns 想删除不再使用的 namespace 或者想重建某个 namespace 下的资源时,发现 namespace 处于 Terminating 状态
2.1 获取关于该 namespace 的json信息
kubectl get ns longhorn-system -o json > tmp.json
2.2 使用vi编辑 tmp.json 文件去掉 spec 字段的内容
[06:18]:[028:longhorn]$ vi tmp.json
"spec": {
"finalizers": [ # 删除该行
"kubernetes" # 删除该行
] # 删除该行
},
2.3 另外打开一个终端窗口,执行 kubectl proxy 指令
kubectl proxy
2.4 在最初的窗口执行下面命令
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/longhorn-system/finalize
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)