设置K8s管理节点异常容忍时间

说明

每个节点上的 kubelet 需要定时向 apiserver 上报当前节点状态,如果两者间网络异常导致心跳终端,kube-controller-manager 中的 NodeController 会将该节点标记为 Unknown 或 Unhealthy,持续一段时间异常状态后 kube-controller-manager 会将该节点上的所有 pod 驱逐(1.24 版本后驱逐通过 taint toleration 实现)。

为了防止发生大面积 pod 驱逐,需要修改 kube-controller-manager 的以下参数:

● --pod-eviction-timeout duration The grace period for deleting pods on failed nodes. (default 5m0s )

● --node-monitor-grace-period duration Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status. (default 40s)

修改方式

编辑所有管理节点的 /etc/kubernetes/manifests/kube-controller-manager.yaml 文件,在 spec.containers.command 增加如下命令行参数:

csharp 复制代码
- --pod-eviction-timeout=180m
- --node-monitor-grace-period=180m

重启进程,或者移动配置文件,如果没有变化重启kubelet

相关推荐
普通人63 天前
宝塔中实现按地区过滤和官网跳转伪静态
服务器·开发语言·nginx·1024程序员节
普通人63 天前
php处理百度编辑器有误html
开发语言·编辑器·html·php·1024程序员节
拔剑纵狂歌18 天前
ClickHouse system.query_log 字段详解与排障实践
后端·clickhouse·1024程序员节
比奥利奥还傲.1 个月前
哪吒监控面板实战:部署 Dashboard、接入 Agent、钉钉告警,再配置固定公网访问
网络·人工智能·分布式·1024程序员节
默 语1 个月前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
学传打活2 个月前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活2 个月前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1682 个月前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心2 个月前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055272 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节