代码改变世界

记录一次处理k8s大量Evicted pod 的情况

2023-05-15 10:21  方斌  阅读(296)  评论(0编辑  收藏  举报

现象:k8s多个ns 下出现大量Evicted 的pod
查询某个 pod
kubectl describe pod demo-6486d57d96-pk46l
看到原因为;

Evicted状态,是驱赶的意思,意思是当节点出现异常时,kubernetes将有相应的机制驱赶该节点上的Pod。
多见于资源不足时导致的驱赶。

查看了一下pod的信息。结果发现是磁盘满了。

Warning Evicted 2d16h kubelet The node had condition: [DiskPressure].

定位磁盘问题
df -h //查看服务器空间
du -h --max-depth=1 //查看当前目录,哪个文件占用最大
du -sh * //查看当前目录下各文件及文件夹占用大小

发现 /var/lib/csi-hostpath-data/ 占用89G,导致根目录占满整个存储,应该是本地安装 csi hostpath 做测试导致的,删除后,删除Evicted 状态的pod后,自行恢复

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