当节点内存到达多少时。对节点的pod进行驱逐
[root@lecode-test-001 ~]
KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6 --eviction-soft=memory.available<4G --eviction-soft-grace-period=memory.available=2m --eviction-max-pod-grace-period=180"
常见驱逐策略
1、软驱逐
--eviction-soft=memory.available<1.5Gi
--eviction-soft-grace-period=memory.available=2m30s
上面的含义是说,当节点内存小于1.5G,并持续时间长达2分30秒的时候,进行驱逐。
2、硬驱逐
如果说只有软驱逐的话,会不会有这么一种情况,在小于1.5G的时候,并没有在持续2分30秒,内存就消耗殆尽了,那样子我们的整个节点都容易出现故障,更别说上面运行的服务了。
所以需要搭配一个最低值,一旦到达哪个阈值,直接进行驱逐。
--eviction-hard=memory.available<100Mi,nodefs.available<1G,nodefs.inodesFree<5%
满足以上任一条件,则立刻开始驱逐。
磁盘紧缺的驱逐
当磁盘剩余空间触发到上面的驱逐策略的时候,是按照什么顺序进行驱逐的呢?
1、删除死掉的容器、POD
2、删除无用的镜像
3、按优先级、资源占用情况驱逐POD
内存紧缺的驱逐
当内存剩余容量触发到上面的驱逐策略的时候,又是按照什么顺序进行驱逐的呢?
1、驱逐不可靠的pod
2、驱逐基本可靠的pod
3、直接停掉占用内存最大的pod
4、驱逐可靠的pod
PS:比如说当node1资源满了,然后把POD-A停掉了,这个时候node2还有足够的资源,是会将POD-A从node2上启动。
配置在/var/lib/kubelet/kubeadm-flags.env
加完配置记得重启kubelet
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器