解决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 下的所有 Podsgrep <status>
筛选出指定状态的 Podsawk '{print $1}'
取 Pod 的 Namexargs kubectl delete pod -n <Namespace>
传递 Pod's Name 用于删除 Pod