华为云CCE集群节点磁盘告警处理
kubernetespromethus pv 空间不足k8s节点空间不足
目录
一、告警问题
监控在华为云CCE节点磁盘空间不足告警,节点磁盘使用率100%,看到告警有两种可能:
1、CCE节点磁盘空间不足
2、CCE节点上运行的某个应用POD空间不足,导致告警该节点磁盘不足
二、问题分析
登录到该对应节点使用常用的磁盘使用空间命令查看(df -h),发现该节点磁盘空间充足,但是有一个POD的存储使用率为100%,可以得知, 该节点磁盘不足告警的原因是pod存储(pvc)溢出导致。并且 使用该pvc的应用是promethus,在我们商城生产环境中,CCE运行的promethus应用对业务没有很大的影响,仅仅是存储一些告警信息,以及POD实例弹性伸缩需要调用,重启或者处理promethus应用不会对业务造成影响。
## 以ssh 的方式登录到告警的节点
df -h
查看promethus日志发现也是存在存储不足报错( no space left on device),导致promethus无法正常运行。
在我们的环境中,promethus使用有状态的方式(StatefulSet),应用名字为promethus,并且该应用所在的命名空间为monitoring,所以查看promethus应用的日志命令为:
kubectl -n monitoring logs promethus-0
三、问题处理
通过分析发下是由于promethus的pvc存储空间不足,在CCE中通过插件安装的promethus使用的pvc是由云硬盘提供的,并且是无法直接修改pvc的大小的,当你云硬盘足够大的使用,pvc会自动扩展,所有解决的办法是将云硬盘扩容,由之前的10G扩展到20G。
扩展云硬盘后可以看到promethus使用的pv和pvc由10G变成了20G,查看pv和pvc的命令为:
### 查看k8s pv的命令
kubectl -n monitoring get pv |grep pvc-prometheus
### 查看k8s pvc的命令
kubectl -n monitoring get pvc |grep pvc-prometheus
由于前面说到我们商城环境对promethus的依赖不大,所以优化磁盘的方法还可以缩短promethus数据保留时间,由15天缩短至7天。
## 修改 promethus应用的数据保留时间,使用的命令
kubectl -n monitoring edit sts promethus
四、结果验证
由于使用kubectl edit 命令修改应用参数,应用自动重启,所有我们就没有必要手动重启应用,扩展云硬盘和修改应用数据保留时间后,需要查看promethus应用是否运行正常,并且日志是否正常即可。使用的命令:
## 查看 promethus 应用运行状态
kubectl -n monitoring get po |grep prometheus
## 查看 promethus 异常处理后的日志
kubectl -n monitoring logs promethus-0
更多推荐
所有评论(0)