解决Kubernetes Pod的Evicted状态及批量删除指定状态的Pods命令

kubectl get pods      

发现很多pod的状态为Evicted

原因

eviction,即驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。
多见于资源不足时导致的驱赶,本次问题为磁盘不足导致。

解决办法
排查资源和异常原因,防止新的驱赶产生。处理资源问题后,删除Evicted状态pod,重新拉起

kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod

批量删除指定状态的 Pods

命令如下:

kubectl get pods -n <Namespace> | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n <Namespace>
  • kubectl get pods -n <Namespace> 获取指定 Namespace 下的所有 Pods
  • grep <status> 筛选出指定状态的 Pods
  • awk '{print $1}' 取 Pod 的 Name
  • xargs kubectl delete pod -n <Namespace> 传递 Pod's Name 用于删除 Pod
原文地址:https://www.cnblogs.com/zhangmingcheng/p/13987113.html