强制删除pod、 pv、pvc

当需要强制删除Kubernetes中的资源时,可以使用特定参数。例如,用`kubectldeletepod<name>-n<namespace>--force--grace-period=0`来立即终止pod。对于处于Terminating状态的PV,需编辑并删除finalizers属性才能彻底删除。同样,PVC的处理方式类似。对于无法删除的namespace,即使使用`--force--grace-period=0`也可能无效。

一、强制删除pod

kubectl delete pod <your-pod-name> -n <name-space> --force --grace-period=0

解决方法:加参数 --force --grace-period=0,grace-period表示过渡存活期,默认30s,在删除POD之前允许POD慢慢终止其上的容器进程,从而优雅退出,0表示立即终止POD

二、强制删除pv、pvc

kubectl patch pv xxx -p '{"metadata":{"finalizers":null}}'
kubectl patch pvc xxx -p '{"metadata":{"finalizers":null}}'

直接删除k8s etcd数据库中的记录!


如果部署的PVC 和 PV 已经是处于绑定状态了,如果这个时候不小心将 PV进行了删除,会出现怎样的情况呢:


此时PV变成Terminating状态了,一直阻塞在这了,也就是不能真正的删除PV,而对应的 PVC 还是 Bound 状态,也就是说这个时候由于 PV 和 PVC 已经绑定在一起了,就不能先删除 PV,只是现在状态是 Terminating 状态,对于 PVC 还是没有任何影响,此时如果试着去删除PVC,PVC也会变成Terminating状态,阻塞在这无法删除。

那么这个时候可以通过编辑 PV,删除 PV 中的 finalizers 属性来强制删除 PV:

$ kubectl edit pv oom-pv
# 按照下面所示删除 finalizers 属性中的内容

编辑完成后保存退出,此时PV就会被真正删除了,而PVC也是同样的操作,就可以删除了。此时在重新创建PVC,PV。

三、强制删除ns

在尝试以下命令强制删除也不好使:

kubectl delete ns <terminating-namespace> --force --grace-period=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值