news 2026/7/10 11:46:38

节点NotReady后容器驱逐时间调整

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
节点NotReady后容器驱逐时间调整

一、简介

早期k8s版本中,Kubernetes Controller Manager 有一些相关参数,用于控制节点监控和 Pod 驱逐的行为。

  • --node-monitor-grace-period=40s(节点失联后等待多久才标记为不健康)

  • --node-monitor-period=30s(Controller Manager 检查节点状态的频率)

  • --pod-eviction-timeout=5m0s(节点标记为不健康后,等待多久才开始驱逐 Pod)

但是在k8s 1.20版本后,节点失联后 Pod 的驱逐逻辑已完全由基于污点的驱逐 (Taint Based Evictions)机制接管。完全废弃了--pod-eviction-timeout参数。

参考官方链接:https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/

接下来,我们测试一下,看看是否有效。

二、验证

2.1 先创建一个测试用例

现在可以看到,默认的容忍度时间是300秒。

2.2 修改kube-apiserver的启动参数

vim /etc/kubernetes/manifests/kube-apiserver.yaml #添加以下启动参数 - --default-not-ready-toleration-seconds=60 - --default-unreachable-toleration-seconds=60

#重启kube-apsierver容器 mv kube-apiserver.yaml /tmp/ mv /tmp/kube-apiserver.yaml . #检查容器是否正常启动 docker ps|grep apiserver docker logs ${docker_id} kubectl get pod -n kube-system -o wide|grep kube-apiserver

2.3 验证驱逐时间

修改完kube-apiserver的启动参数后,只对新增容器有效,存量容器需要重启后生效:

接下来咱们模拟node节点故障,触发节点驱逐:

结果符合预期(可能有微小误差):

时间

动作

10:34:20

节点关机

10:35:11

节点NotReady

10:36:10

驱逐容器

三、扩展

有关于pod驱逐的效率可以参考kube-controller-manager的启动参数,官方链接:https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kube-controller-manager/

相关参数:

参数

含义

--large-cluster-size-threshold int32 默认值:50

node-lifecycle-controller 在执行 Pod 驱逐操作逻辑时, 基于此标志所设置的节点个数阈值来判断所在集群是否为大规模集群。 当集群规模小于等于此规模时,--secondary-node-eviction-rate会被隐式重设为 0。 注意:如果节点位于多个区域中,则此阈值将被每个区域视为区域节点大小阈值,以独立确定节点驱逐率。

--node-eviction-rate float 默认值:0.1

当某区域健康时,在节点故障的情况下每秒删除 Pods 的节点数。 请参阅--unhealthy-zone-threshold以了解“健康”的判定标准。 这里的区域(zone)在集群并不跨多个区域时指的是整个集群。

--secondary-node-eviction-rate float32 默认值:0.01

当一个区域不健康造成节点失效时,每秒钟从此标志所给的节点上删除 Pod 的节点个数。 参见--unhealthy-zone-threshold以了解“健康与否”的判定标准。 在只有一个区域的集群中,区域指的是整个集群。如果集群规模小于--large-cluster-size-threshold所设置的节点个数时, 此值被隐式地重设为 0。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 9:49:27

Fast GraphRAG终极指南:5分钟快速部署智能知识检索系统

Fast GraphRAG终极指南:5分钟快速部署智能知识检索系统 【免费下载链接】fast-graphrag RAG that intelligently adapts to your use case, data, and queries 项目地址: https://gitcode.com/gh_mirrors/fa/fast-graphrag Fast GraphRAG 是一个革命性的智能…

作者头像 李华
网站建设 2026/7/9 21:14:17

安装网络共享打印机HP1020和epsonLQ590出现0x0000011b错误如何解决?

一台WINDOWS10家庭版的电脑共享了一台惠普HP的激光打印机出来 ,给办公室的其它同事连网使用,只要是WINDOWS7的电脑的同事都能通过网络访问连接安装的方式来进行文件的打印操作,有几台WINDOWS10和WINDOWS11的电脑就是安装不上,在安装上提示windows无法连接到打印机,操作失败…

作者头像 李华
网站建设 2026/7/8 19:50:05

3步搞定Go版本管理:从环境混乱到高效开发的终极指南

3步搞定Go版本管理:从环境混乱到高效开发的终极指南 【免费下载链接】tools [mirror] Go Tools 项目地址: https://gitcode.com/gh_mirrors/too/tools 还在为Go项目版本冲突而苦恼?面对不同项目要求的Go版本,你是否经常手忙脚乱地切换…

作者头像 李华
网站建设 2026/7/9 16:47:17

从零开始掌握Dream-Textures:Blender中的AI材质革命

从零开始掌握Dream-Textures:Blender中的AI材质革命 【免费下载链接】dream-textures Stable Diffusion built-in to Blender 项目地址: https://gitcode.com/gh_mirrors/dr/dream-textures 还在为寻找合适的材质纹理而烦恼吗?Dream-Textures将St…

作者头像 李华
网站建设 2026/7/7 20:25:20

如何在管家婆网店ERP中创建物流单模板?

登录进入管家婆网店ERP系统,点击左侧导航栏资料-物流公司进入新增或维护物流公司信息(如名称、编号等)。物流公司添加好后从左侧资料-物流服务模板管理进入模板设置界面,点击新增物流服务模板。根据实际情况选择面单类型&#xff…

作者头像 李华
网站建设 2026/7/9 20:08:50

MarchingCases marchingcubes算法15种情况的展示

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①MarchingCubes等值面重建的原理展示 二&a…

作者头像 李华