node-problem-detector 资源修改
由于 node-problem-detector 默认给的配置资源太低,可能会导致以下问题
- 系统出现僵尸进程
- node 节点读 IO 变高
- npd 进程会出现报错:
Timeout when running plugin "./config/plugin/network_problem.sh": state -signal
需要调整 node-problem-detector 的资源配置,操作步骤如下
1. 获取 DaemonSet 的名称
kubectl get ds -n kube-system |grep node-problem-detector
node-problem-detector 1 1 1 1 1 <none> 236d
找到 DaemonSet
的名称,一般叫做 node-problem-detector,或者叫做 ack-node-problem-detector-daemonset
2. 编辑 DaemonSet 资源,修改 resources 配置
通过 edit 命令修改资源的配置,执行下面命令之后,会进入 vim 模式
kubectl edit ds node-problem-detector -n kube-system
修改 resource 对应的内容为 100m 和 100Mi ,保存退出即可,node-problem-detector 对应的 pod 会自动重启
resources:
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 100m
memory: 100Mi
3. 验证 pod 正常运行
kubectl get pod -n kube-system |grep node-problem-detector
确认 pod 正常运行
常见问题:
1. 修改会影响我们的应用服务吗?
不会, node-problem-detector 的作用是检查 node 节点是否存在异常,修改 node-problem-detector 不会影响应用服务
2. 哪些集群需要修改?
如果集群是在 2022 年 3月 12 日之前创建的,且在集群的 应用中心
-> NPD节点监控
开启了Node-Problem-Detector节点监控插件,就有可能出现这个问题。
我们已经在近期的发布中修改了该问题,后面新创建的集群不会出现。