kubernetes - --default-unreachable-toleration-seconds 和 --default-not-ready-toleration-seconds 不起作用
问题描述
我更新了 kube-apiserver 服务,默认容忍限制为 60 秒。
--default-unreachable-toleration-seconds=60
--default-not-ready-toleration-seconds=60
我在我的一个节点中停止了 kubelet,它进入了未就绪状态。
但我面临的问题是 pod 仅在从节点移动到未就绪状态 5 分钟后才被驱逐。期望豆荚应该在 60 秒内被驱逐。
我的 Kubernetes 版本是 1.15。
进行此更改后,我重新启动了 kube-controller-manager 和 kube-apiserver。
程序有什么问题?
解决方案
使用这两个默认的容忍参数,Kubernetes 会自动为每个 pod 添加一个容忍配置。因此,重新部署所有 pod 以确保将容忍度添加到所有 pod 非常重要。
除了更改 kubernetes 控制平面组件的参数(使其对所有 pod 进行全局更改)之外,您还可以使用以下配置修改每个 pod 的容忍时间。
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 60
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 60
https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#taint-based-evictions
推荐阅读
- firebase - Flutter & Firebase:如何在我刚创建文档时将 documentID 放入文档字段?
- bash - 阅读以逗号分隔的每个单词
- javascript - 在 Material UI Chip 中对齐头像中心
- java - 在 Java 中使用字符数组执行数学运算的最有效方法是什么?
- react-native - 如何在 TensorflowJs 中将张量解码为 base64?
- node.js - 将标头发送到客户端后无法设置标头 - Node/Express/JWT
- celery - 芹菜守护进程问题
- php - 如何计算具有左连接和多个 where 条件的匹配行
- qt - 如何重置 Qt 窗口字体的大小?
- javascript - 为什么复选框值在未选中时打开