k8s本来跑的好好的,突然发现上面的服务都停了,然后查看发现pod状态变了,网上发现说是资源不足导致的,然后疯狂查找。

1.查看内存情况,命令:free -g ,发现没问题

2.查看内存情况,命令:top ,发现没问题

3.查看硬盘情况,命令:df -lh,发现硬盘没问题,但启动的docker镜像有问题!!!!!

继续查找发现是由于启动的docker占用的空间大于85%导致挂掉的。

然后查看docker ps -a,发现有很多已经停止的容器,就是这里!!!!!!

删除掉这些不用的,命令:docker container prune

此时资源问题已经解决。

但,

还需要把evicted的pod给删掉,由于每个命名空间下都有,所有需要使用脚本循环操作,如下:

for ns in `kubectl get ns | awk 'NR>1{print $1}'`
do
      kubectl get pods -n ${ns} | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n ${ns}
done

 

执行完脚本,等待k8s的pod自动running即可。

Logo

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

更多推荐