k8s--pod的状态为evicted

178 篇文章 4 订阅
98 篇文章 1 订阅

问题参考:https://stackoverflow.com/questions/59906810/the-node-was-low-on-resource-ephemeral-storage

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

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

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

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

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

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

解决方案

排查资源和异常原因,防止新的驱赶产生。

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

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

此时资源问题已经解决。

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

kubectl get pods | grep Evicted | awk ‘{print $1}’ | xargs kubectl delete pod

#!/bin/bash

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值