K8s驱逐阈值调整

要在 Kubernetes 中调整 kubelet 驱逐阈值,特别是针对 imagefsnodefs 的大小阈值,你可以通过修改 kubelet 的启动参数来实现。这些参数定义了在触发 Pod 驱逐之前,节点上的资源使用情况必须满足的硬性条件。

根据你提供的文件内容,你可以在 ExecStart 行中添加或修改驱逐阈值参数。以下是如何添加这些参数的示例:

  1. 添加硬驱逐阈值:这些阈值一旦被触发,将立即导致 Pod 被驱逐。

    ini 复制代码
    --eviction-hard=imagefs.available<1Gi,nodefs.available<500Mi
  2. 添加软驱逐阈值:这些阈值在被触发后,会有一个宽限期,在宽限期结束后才会驱逐 Pod。

    ini 复制代码
    --eviction-soft=imagefs.available<2Gi,nodefs.available<1Gi
  3. 设置软驱逐宽限期:定义在软驱逐阈值被触发后,kubelet 等待的时间,超过这个时间才会执行驱逐操作。

    ini 复制代码
    --eviction-soft-grace-period=imagefs.available=2m,nodefs.available=2m

在你的 10-kubeadm.conf 文件中,将这些参数添加到 ExecStart 行中,如下所示:

ini 复制代码
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/sysconfig/kubelet

# 添加驱逐阈值参数
Environment="KUBELET_EVICTION_ARGS=--eviction-hard=imagefs.available<1Gi,nodefs.available<500Mi --eviction-soft=imagefs.available<2Gi,nodefs.available<1Gi --eviction-soft-grace-period=imagefs.available=2m,nodefs.available=2m"

ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_EVICTION_ARGS --max-pods=300 --node-ip 172.30.30.101

Restart=always
StartLimitInterval=0
RestartSec=10

[Install]
WantedBy=multi-user.target

在修改配置后,需要重新加载 systemd 配置并重启 Kubelet 服务以使更改生效。这可以通过以下命令完成:

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

请注意,修改这些参数可能会影响集群的稳定性和性能,因此在应用更改之前,应该充分理解它们的影响,并在非生产环境中进行测试。此外,考虑到不同工作负载和应用程序的内存需求可能有所不同,因此可能需要在多个节点或节点池上应用不同的设置。在设置这些值时,可以参考 Kubernetes 官方文档中关于驱逐策略的详细说明。

相关推荐
yaoxin5211232 分钟前
236. Java 集合 - 使用索引访问 List 元素
java·windows·list
humors22133 分钟前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
百***680442 分钟前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
庸子1 小时前
Kubernetes调度器深度解析:从资源分配到亲和性策略的架构师之路
java·算法·云原生·贪心算法·kubernetes·devops
easy_coder1 小时前
超越故障修复:从 Kubernetes POD 崩溃到 AI 驱动的运维认知重构
云原生·架构·kubernetes·云计算
Sunhen_Qiletian1 小时前
YOLOv2算法详解(上篇):从经典到进化的目标检测之路
算法·yolo·目标检测
QTreeY1231 小时前
detr目标检测+deepsort/strongsort/bytetrack/botsort算法的多目标跟踪实现
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
AiXed1 小时前
PC微信协议之nid算法
python·网络协议·算法·微信
_Jimmy_2 小时前
Nacos的三层缓存是什么
java·缓存
朝新_2 小时前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis