k8s通过命令批量删除pod方式
作者:如风之夏
文章介绍了如何在k8s中批量删除失败的pod,首先,通过查看所有pod的状态,筛选出非Running的记录,然后,针对特定命名空间(如kube-system)的记录进行筛选,并使用grep命令查找带有Evicted字段的pod,通过awk获取pod名称,并使用xargs循环删除这些失败的pod
k8s批量删除失败的pod
查看所有的pod
kubectl get pod --all-namespaces
选择STATUS列
查看某namespace的非Running的记录,比如:
kubectl get pods -n kube-system | grep Evicted | awk '{print$1}'| xargs kubectl delete -n kube-system pods
解析
- 获取所有的pods及其状态
kubectl get pods
- 筛选出命名空间kube-system的记录,默认视default
-n kube-system
- grep选出带有Evicted字段pod
| grep Evicted
- 通过awk,获取第一列信息,也就是NAME
| awk '{print$1}'
- 使用xargs指令,循环删除失败的pod
| xargs kubectl delete pods
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
