kubernetest通过etcd删除一直处于terminating状态的pod

背景简介:

删除pod时有时候会出现一直删不掉的情况,比如节点资源满了或者其他原因,导致pod一直处于Terminating状态,迟迟删除不掉。

解决办法:

1. 传统办法删除(此种办法此刻可能会一直处于无限等待中...)

[root@k8s-master ~]# kubectl delete -f nginx.yaml 
或者
[root@k8s-master ~]# kubectl delete deployments nginx

  

2. 系统自带参数强制删除

[root@k8s-master ~]# kubectl delete pod nginx-5897bcd455-nmbrd --grace-period=0 --force

  

3. 进etcd库删除(不到万不得已,谨慎操作)

i.   先找到etcd的三个证书相关的文件,我的(kubeadm安装)在目录 /etc/kubernetes/pki/etcd/ 下

ii.  执行命令查找pod

ETCDCTL_API=3 etcdctl --endpoints=https://192.168.12.39:2379 --cacert=/etc/kubernetes/pki/etcd/ca.pem --cert=/etc/kubernetes/pki/etcd/etcd-client.pem --key=/etc/kubernetes/pki/etcd/etcd-client-key.pem get /registry/pod --prefix --keys-only | grep nginx-5897bcd455

iii.  执行命令删除pod

ETCDCTL_API=3 etcdctl --endpoints=https://192.168.12.39:2379 --cacert=/etc/kubernetes/pki/etcd/ca.pem --cert=/etc/kubernetes/pki/etcd/etcd-client.pem --key=/etc/kubernetes/pki/etcd/etcd-client-key.pem del /registry/pods/default/nginx-5897bcd455-nmbrd

 删除成功,会返回1,就这样一个个删除即可。

如果这样都删不掉,那么..只能呵呵了啊。

结束

猜你喜欢

转载自www.cnblogs.com/ding2016/p/12107942.html