k8s服务故障,出现大量的Evicted状态的pod

kubectl get pod -A 发现出现Evicted 状态的pod高达8000多个。

在这里插入图片描述

一、随机查看一个处于Evicted状态pod的描述:

kubectl describe pod -n monitor csp-monitor-api-5d4c5dbb8f-zpw5w

Status:	 	   	     Failed
Reason:					 Rvicted
Message:				 Pod The node had condition: [Diskpressure].
二、查看磁盘果然发现满了,首先清理一波磁盘空间
[root@csp1 ~]# df -h
Filesystem  Size  Used Avail Use% Mounted on
devtmpfs     12G     0   12G   0% /dev
tmpfs        12G     0   12G   0% /dev/shm
tmpfs        12G  1.2G   11G  10% /run
tmpfs        12G     0   12G   0% /sys/fs/cgroup
/dev/vda3    71G   71G     0 100% /
/dev/vdb1    50G   34G   17G  67% /var/lib/docker
/dev/vda1  1014M  240M  775M  24% /boot
三、然后批量删除Evicted状态的pod:
kubectl get pods --all-namespaces -o json | jq '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted")) | "kubectl delete pods \(.metadata.name) -n \(.metadata.namespace)"' | xargs -n 1 bash -c

出现错误:

bash: jq: command not found...

yum install -y jq ,然后在执行批量删除

最后查看pod状态都为正常

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐