前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维记录--K8S中java程序频繁死掉killed

运维记录--K8S中java程序频繁死掉killed

作者头像
互联网-小阿宇
发布2022-11-21 21:12:52
1K0
发布2022-11-21 21:12:52
举报
文章被收录于专栏:互联网-小阿宇

上周上线完之后,平台频繁出现问题,从服务器查看pod状态为Running 但是从日志中查看就是直接被killed 检查过nginx日志、数据库等未发现异常

由上图可以看出最后直接就是被killed

下意识的我会以为是程序运行超过了所指定的Xmx参数,但是平台运行的情况我还是了解的,之前即便访问量大的是的也是个别服务或者数据库压力大,不会导致这两天无规律性质的死掉服务,几乎什么服务都可能会进行被killed 我尝试调整过启动脚本Xmx参数 但是没用,一样还是会被killed

之前也处理过关于pod启动异常的问题,然后我去检查各个节点运行资源情况:

代码语言:javascript
复制
free -h   #查看运行内存
df -h    #查看磁盘空间
top     #查看CPU

并未发现异常

这里插句话如果磁盘空间超过85%,会导致docker启动回收垃圾机制,删除你的镜像一类的,会导致你的pod启动异常 运行内存不足也会导致pod启动异常

无异常,就更令我感到诧异并无助 解决问题最怕的就是没发现问题

然后先经过治理表面先及时解决平台运行问题

代码语言:javascript
复制
kubectl delete pod XXX

经过重启pod,然后重新运行没问题的,不过过一会指不定又是什么服务进行killed了

经过一个周末,还是不断有问题发生,我决定周一上班必须解决掉!

早上进行观察经常出问题的服务都是在两个节点node05、node07

上节点在进行检查资源----无异常

然后查看docker日志------报错了!!!!

可以看到从22号就开始频繁发生报错,时间节点对应上了!!! 先了解一下报错内容,它因为过多的连接等才会进行导致不断的kill容器 我们查看一下docker的各项资源 查看无用的镜像、无用的容器卷、无用的容器多不多

代码语言:javascript
复制
docker images
docker volume ls
docker ps -a

清理命令 原理:删除你无用的资源

代码语言:javascript
复制
docker images prune  #这个命令还是慎重因为怕你有的镜像有用
可以使用自己组合一键清理你指定的镜像
docker volume prune  #清理无用的容器卷

经过我的排查就是因为docker无用资源过多导致的触发机制进行不断删除容器 进行清理!!!

docker日志无异常

在返回查看pod服务 不会再被进行killed了

平台也恢复正常!

有的问题并不是简单的看表面,可能需要深入去分析

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档