k8s节点状态Evicted被驱逐

使用k8s搭建服务集群,发现有服务正常启动之后,过一会就被驱逐了

可以看到,容器被驱逐之后无限重启,一直都是失败,直到最后切换了节点才成功。被驱逐的节点,都是一台服务器172.16.0.32,我们看一下详情

上图是一个被驱逐节点的事件,红框标出来的意思是节点资源不足。问题很明确了,我们去看一下这台服务器的监控信息

发现这台服务器的磁盘使用率很高,k8s有种机制,当服务器磁盘使用超过85%之后就不允许节点再次创建了,所以节点创建之后就被驱逐了,目前这个云盘是40G,我们直接扩容一下。

注意,先把这台ecs状态改成不可调度,然后创建好快照,然后按照步骤扩容,扩容之后,我们再看一下监控

发现扩容成功了

回到k8s集群,将被驱逐的节点删除掉,此时问题应该就解决掉了,后续我们继续观察

在Kubernetes中,当节点面临资源压力时,可能会触发Pod驱逐(Eviction)的机制。Pod驱逐是指将一些Pod从节点驱逐出去,以释放资源给其他Pod使用。驱逐的条件和策略可以通过Kubelet的配置进行设置。 根据引用的资料,可以通过配置Kubelet的eviction参数来控制Pod的驱逐行为。Kubelet的配置文件中可以设置eviction的硬阈值、软阈值、软阈值宽限期和最小回收量等参数。当节点资源使用超过这些阈值时,Kubelet会根据驱逐策略来选择性地将一些Pod驱逐出去。 根据引用的描述,如果在重启Kubernetes集群的某个节点Docker之后,发现大多数Pod的状态evicted,那么很可能是由于节点面临资源压力导致的。这可能是因为在节点重启后,资源消耗较大的Pod被驱逐出去,以保证节点的正常运行。 根据引用的代码片段,调用ParseThresholdConfig函数可以解析用户配置的阈值参数。这些阈值参数用于配置Pod驱逐的条件。在Kubelet的配置中,可以设置硬阈值、软阈值、软阈值宽限期和最小回收量等参数。这些参数可以根据实际需求进行调整,以适应集群的资源管理策略。 综上所述,k8s Evicted是指在Kubernetes集群中,当节点面临资源压力时,Kubelet会根据配置的阈值参数选择性地将一些Pod驱逐出去,以释放资源给其他Pod使用。节点重启后,如果发现大多数Pod的状态evicted,那么可能是因为节点资源不足导致的驱逐行为。可以通过调整Kubelet的配置来控制Pod的驱逐行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值