设置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

相关推荐
清风-云烟1 天前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
Joeysoda2 天前
Java数据结构 (链表反转(LinkedList----Leetcode206))
java·linux·开发语言·数据结构·链表·1024程序员节
比特在路上2 天前
StackOrQueueOJ3:用栈实现队列
c语言·开发语言·数据结构·1024程序员节
0xCC说逆向3 天前
Windows图形界面(GUI)-QT-C/C++ - Qt键盘与鼠标事件处理详解
c语言·开发语言·c++·windows·qt·win32·1024程序员节
明明真系叻5 天前
2025.1.18机器学习笔记:PINN文献精读
人工智能·笔记·深度学习·机器学习·1024程序员节
0xCC说逆向5 天前
Windows图形界面(GUI)-QT-C/C++ - Qt List Widget详解与应用
c语言·开发语言·c++·windows·qt·win32·1024程序员节
明明真系叻7 天前
2025.1.12机器学习笔记:GAN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节
比特在路上9 天前
OJ12:160. 相交链表
c语言·数据结构·算法·链表·1024程序员节
earthzhang20219 天前
《深入浅出HTTPS》读书笔记(28):DSA数字签名
开发语言·网络协议·算法·https·1024程序员节
比特在路上10 天前
初阶数据结构【栈及其接口的实现】
c语言·开发语言·数据结构·1024程序员节