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

相关推荐
想做后端的小C4 分钟前
Java:接口回调
java·开发语言·接口回调
爱学习的小可爱卢16 分钟前
JavaEE进阶——Spring核心设计模式深度剖析
java·spring·设计模式
毕设源码-钟学长1 小时前
【开题答辩全过程】以 个性化电影推荐网站的设计与实现为例,包含答辩的问题和答案
java·spring boot
C++业余爱好者1 小时前
Power Job 快速搭建 及通信机制介绍
java
YGGP1 小时前
【Golang】LeetCode 32. 最长有效括号
算法·leetcode
自然常数e1 小时前
字符函数和字符串函数
c语言·算法·visual studio
qq_2704900961 小时前
SpringBoot药品管理系统设计实现
java·spring boot·后端
leaves falling2 小时前
c语言分数求和
算法
Das12 小时前
【机器学习】01_模型选择与评估
人工智能·算法·机器学习