背景簡介:
刪除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,就這樣一個個刪除即可。
如果這樣都刪不掉,那么..只能呵呵了啊。
結束