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 分钟前
【Qt 5.14.2 新手实战】QTC++入门筑基——10 分钟做个文本编辑器:QLineEdit + QTextEdit 核心用法
java·c++·qt
肆悟先生3 分钟前
3.15 引用类型
c++·算法
楠枬5 分钟前
Nacos
java·spring·spring cloud·微服务
ShadowSmartMicros8 分钟前
SpringAi调用Mcp
java·ai
MediaTea9 分钟前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
暗之星瞳9 分钟前
随机森林(初步学习)
算法·随机森林·机器学习
不爱吃糖的程序媛11 分钟前
基于Ascend C开发的Vector算子模板库-ATVOSS 技术深度解读
人工智能·算法·机器学习
松涛和鸣11 分钟前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
kong790692812 分钟前
Java新特性-(四)方法与数组
java·数组·方法
SZ17011023112 分钟前
K8s 部署所需的配置文件
云原生·容器·kubernetes