k8s修改 Kubelet 配置文件,避免乱驱逐!!!

这个文件是 kubelet基础服务文件 。但是,请先不要急着直接改这个文件里面的 ExecStart

修改时一定要记得做备份!!!!!!

⚠️ 重要提醒:不要直接改这里(99% 无效)

如果你是用 kubeadm 安装的集群(大部分情况都是),这个文件里的 ExecStart 会被另一个"覆盖文件"(Drop-in file)给忽略掉

那个覆盖文件通常在 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf,它会清空这里的设置并用自己的参数启动。

所以,想要修改驱逐阈值,有以下两种真正有效的方法:


方法一:修改 Kubelet 配置文件(✅ 推荐,最稳妥)

这是官方推荐的方式。请检查你的节点上有没有 /var/lib/kubelet/config.yaml 这个文件。

1. 编辑配置文件

bash 复制代码
vim /var/lib/kubelet/config.yaml

2. 在文件末尾(或者合适的位置)添加 evictionHard 配置

注意缩进(YAML格式),要和 apiVersion 同级,或者直接加在文件最后(确保没有重复的 key):

yaml 复制代码
evictionHard:
  memory.available: "100Mi"    # 内存剩 100Mi 才驱逐
  nodefs.available: "5%"       # 磁盘剩 5% 才驱逐
  nodefs.inodesFree: "5%"
  imagefs.available: "5%"      # 镜像盘剩 5% 才驱逐

3. 重启生效

bash 复制代码
systemctl daemon-reload
systemctl restart kubelet

方法二:修改环境变量文件(✅ 仅次于配置文件)

如果你非要通过启动参数改,或者找不到 config.yaml,请修改 /etc/sysconfig/kubelet(CentOS)或者 /etc/default/kubelet(Ubuntu)。

1. 编辑环境文件

bash 复制代码
vim /etc/sysconfig/kubelet
# 如果文件不存在,就新建一个

2. 添加 KUBELET_EXTRA_ARGS

在里面写入:

bash 复制代码
KUBELET_EXTRA_ARGS="--eviction-hard=memory.available<100Mi,nodefs.available<5%,imagefs.available<5%"

3. 重启生效

bash 复制代码
systemctl daemon-reload
systemctl restart kubelet

方法三:如果你非要改你发的这个文件(❌ 不推荐)

只有 在你确定没有 安装 kubeadm,且没有 /etc/systemd/system/kubelet.service.d/ 目录的情况下,改这里才有用。

修改 ExecStart 这一行,把参数接在后面:

ini 复制代码
[Service]
# 修改下面这一行,加上 --eviction-hard 参数
ExecStart=/usr/bin/kubelet --eviction-hard=memory.available<100Mi,nodefs.available<5%,imagefs.available<5%
Restart=always
StartLimitInterval=0
RestartSec=10

改完后执行:

bash 复制代码
systemctl daemon-reload
systemctl restart kubelet

总结

建议直接用 方法一 (改 config.yaml)。如果你改了你发的那个文件但重启后发现没效果,肯定是因为被 kubeadm 的配置覆盖了,请回头用方法一或方法二。

相关推荐
huipeng9265 小时前
企业级微服务开发实战(一):项目启动与工程化设计
java·开发语言·spring boot·spring cloud·微服务·云原生·架构
阿里云云原生8 小时前
阿里云正式发布 RCA Benchmark,业界首个面向 Agentic Ops 的根因分析开源基准体系
云原生
marsh020610 小时前
56 openclaw与Serverless:无服务器架构下的应用实践
云原生·架构·serverless
Patrick_Wilson12 小时前
写给前端的 K8s 入门:用一张图和一个例子搞懂 5 个核心概念
云原生·kubernetes·devops
凌睿马13 小时前
离线的银河麒麟系统部署ollama
云原生·eureka
java1234_小锋13 小时前
【吊打面试官系列-ZooKeeper面试题】zookeeper 是如何保证事务的顺序一致性的?
分布式·zookeeper·云原生
my195870213513 小时前
ZooKeeper分布式协调从入门到实战
分布式·zookeeper·云原生
oioihoii13 小时前
ZooKeeper 三节点集群部署:别再单机玩,高可用强一致集群这样搭
分布式·zookeeper·云原生
云游牧者15 小时前
K8S-Helm包管理全解-从入门到Chart开发实战指南
云原生·容器·kubernetes·helm·chart模板
Elastic 中国社区官方博客16 小时前
一个查询,无限 Elasticsearch Serverless 项目:跨项目搜索介绍
大数据·elasticsearch·搜索引擎·信息可视化·云原生·serverless·全文检索