问题现象
kubernetes集群收到一条,kubelet的cpu使用率较高的告警,过会就恢复了。然后又告警,这样的情况反反复复发生。
已知信息
- kubebernetes 1.17.2
- kubelet 1.17.2
- cpu使用率过高的情况并非持续的,这里可以初步怀疑,cpu的过高可能是被某个函数定时触发。
问题排查
先来一波常规套路,登录上服务器,执行如下操作:
## 找到进程的pid
ps -ef|grep kubelet
## 查看该进程的状态
top -p xxx
## 每隔1秒查看进程状态,总共10次的数据
pidstat 1 10
最终得到如下结果数据:
发现kubelet的cpu使用情况主要使用在用户态。那我们就看看这个kubelet到底是什么情况?
参考网上的诊断文档(https://www.cnblogs.com/zerchin/p/kubernetes.html)
我进行了如下操作:
## 查看详情
strace -cp 7799
发现futex这个函数占用的时间比较多,同时还发