上周上线完之后,平台频繁出现问题,从服务器查看pod状态为Running 但是从日志中查看就是直接被killed 检查过nginx日志、数据库等未发现异常
由上图可以看出最后直接就是被killed
下意识的我会以为是程序运行超过了所指定的Xmx参数,但是平台运行的情况我还是了解的,之前即便访问量大的是的也是个别服务或者数据库压力大,不会导致这两天无规律性质的死掉服务,几乎什么服务都可能会进行被killed 我尝试调整过启动脚本Xmx参数 但是没用,一样还是会被killed
之前也处理过关于pod启动异常的问题,然后我去检查各个节点运行资源情况:
free -h #查看运行内存
df -h #查看磁盘空间
top #查看CPU
并未发现异常
这里插句话如果磁盘空间超过85%,会导致docker启动回收垃圾机制,删除你的镜像一类的,会导致你的pod启动异常 运行内存不足也会导致pod启动异常
无异常,就更令我感到诧异并无助 解决问题最怕的就是没发现问题
然后先经过治理表面先及时解决平台运行问题
kubectl delete pod XXX
经过重启pod,然后重新运行没问题的,不过过一会指不定又是什么服务进行killed了
经过一个周末,还是不断有问题发生,我决定周一上班必须解决掉!
早上进行观察经常出问题的服务都是在两个节点node05、node07
上节点在进行检查资源----无异常
然后查看docker日志------报错了!!!!
可以看到从22号就开始频繁发生报错,时间节点对应上了!!! 先了解一下报错内容,它因为过多的连接等才会进行导致不断的kill容器 我们查看一下docker的各项资源 查看无用的镜像、无用的容器卷、无用的容器多不多
docker images
docker volume ls
docker ps -a
清理命令 原理:删除你无用的资源
docker images prune #这个命令还是慎重因为怕你有的镜像有用
可以使用自己组合一键清理你指定的镜像
docker volume prune #清理无用的容器卷
经过我的排查就是因为docker无用资源过多导致的触发机制进行不断删除容器 进行清理!!!
docker日志无异常
在返回查看pod服务 不会再被进行killed了
平台也恢复正常!
有的问题并不是简单的看表面,可能需要深入去分析