问题

今天突然发现很多 K8S 中的服务访问不到了,就连 dashboard 都打不开了,用 kubectl 看了下出现了很多 Evicted 状态的 pod;

分析

查询日志:

kubectl describe pod xxxx -n nsName

发现问题如下:

Pod The node had condition: [DiskPressure].

问题应该是:硬盘满了

通过 df -h 及 du -h --max-depth=1 命令逐级查找,发现是 /home/data/logs/kubernetes/kube-apiserver 中日志文件过大,使整体磁盘占用量超过了 85%,导致大量 pod 被驱逐;

解决

清空日志文件夹(可以先将日期较久的删除,避免产生错误的还有其他问题导致,但日志已被删除)

删除 Evicted 状态的 pod:

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

nsName:自己的 namespace 名称,如果在 public 可以不写;

Logo

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

更多推荐