强制删除kubernetes中的处于Terminating状态的资源

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 获取关于该 namespacejson信息

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅食的蛇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值