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 官方文档中关于驱逐策略的详细说明。

相关推荐
大菠萝学姐3 分钟前
基于Spring Boot和Vue的高校图书馆座位预约系统的设计与实现
java·vue.js·spring boot·后端·python·mysql·vue
IT猿手13 分钟前
2025最新智能优化算法:沙狐优化(Rüppell‘s Fox Optimizer,RFO)算法求解23个经典函数测试集,完整MATLAB代码
android·算法·matlab·迁移学习·优化算法·动态多目标优化·动态多目标进化算法
信码由缰30 分钟前
Spring框架中的Component与Bean注解
java·spring
嗜好ya1 小时前
LeetCode 560: 和为K的子数组
数据结构·算法·leetcode
程序员秘密基地1 小时前
基于html,css,vue,vscode,java,springboot,mysql数据库,在线考勤,管理系统
java·vue.js·spring·html·web app
络71 小时前
HashMap的put、get方法详解(附源码)
算法·哈希算法·hashmap
微光-沫年1 小时前
141-CEEMDAN-VMD-Transformer-BiLSTM-ABKDE多变量区间预测模型!
算法·matlab·回归
hello 早上好2 小时前
多线程(1)
java
paopaokaka_luck2 小时前
基于Spring Boot+Vue的DIY手工社预约管理系统(Echarts图形化、腾讯地图API)
java·spring boot·后端
闪电麦坤952 小时前
数据结构:数组:合并数组(Merging Arrays)
数据结构·算法