发布时间:2024-10-23 10:01
0、Master每隔一段时间和node联系一次,判定node是否失联,这个时间周期配置项为 node-monitor-period ,默认5s
1、当node失联后一段时间后,kubernetes判定node为notready状态,这段时长的配置项为 node-monitor-grace-period ,默认40s
2、当node失联后一段时间后,kubernetes判定node为unhealthy,这段时长的配置项为 node-startup-grace-period ,默认1m0s
3、当node失联后一段时间后,kubernetes开始删除原node上的pod,这段时长配置项为 pod-eviction-timeout ,默认5m0s
以下我的参数
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
最后再设置pods漂移时间
方法 1 统一设置时间
vim /etc/kubernetes/manifests/kube-apiserver.yaml
添加以下参数
- --default-not-ready-toleration-seconds=30
- --default-unreachable-toleration-seconds=30
方法.2
再yaml文件上配置
#调整默认容忍时长
1 Kubernetes 为 Pod 自动添加的针对 unreachable / not-ready 污点的容忍时长由 APIServer 中的相应参数控制,如需修改请逐台在三台 Master 节点上进行如下操作:
在 APIServer 配置文件/etc/kubernetes/apiserver 中添加参数 --default-not-ready-toleration-seconds=100 及 --default-unreachable-toleration-seconds=100,将对污点 NotReady:NoExecute 及 Unreachable:NoExecute 的容忍时长(以秒记,默认为 300)调整为 100s,修改前请做好配置文件备份;
2. 执行 systemctl restart kube-apiserver 重启 APIServer
3 . 执行 systemctl status kube-apiserver 确认 APIServer 状态为 active。
spec:
template:
spec:
tolerations:
- key: \"node.kubernetes.io/unreachable\"
operator: \"Exists\"
effect: \"NoExecute\"
# 调整 Pod 对污点 Unreachable:NoExecute 的容忍时长为 100s
tolerationSeconds: 100
- key: \"node.kubernetes.io/not-ready\"
operator: \"Exists\"
effect: \"NoExecute\"
# 调整 Pod 对污点 NotReady:NoExecute 的容忍时长为 100s
tolerationSeconds: 100
nodeSelector:
storagenode: momo
tolerations:
- key: \"node.kubernetes.io/unreachable\"
operator: \"Exists\"
effect: \"NoExecute\"
tolerationSeconds: 10
- key: \"node.kubernetes.io/not-ready\"
operator: \"Exists\"
effect: \"NoExecute\"
tolerationSeconds: 10