共计 730 个字符,预计需要花费 2 分钟才能阅读完成。
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 <namespace-name> > tmp.json
2.2 应用 vi
编辑文件去掉 spec
字段的内容
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
正文完
发表至: kubernetes
2022-05-25