Kubernetes podJava从137 TERMINATED

问题描述

我们在Docker 1.19上运行Kubernetes(1.18),并在具有3个主服务器和3个工作器的本地部署上进行了系统化。操作系统是RedHat 7.8。

Container是一个基于Java 13的Spring Boot应用程序(使用基本映像作为openjdk:13-alpine),以下是内存设置。

吊舱:

  • 内存-最小448M和最大2500M
  • cpu-最小0.1

容器:

  • xms:256M,Xmx:512M

长时间发送流量时,容器突然重新启动;在Prometheus中,我可以看到Pod内存低于最大级别(只有1300MB左右)。

在广告连播事件中,我可以看到有关活跃度和就绪状态探测器的警告;然后吊舱开始重新启动。

State:          Running
  Started:      Sun,23 Aug 2020 15:39:13 +0530
Last State:     Terminated
  Reason:       Error
  Exit Code:    137
  Started:      Sun,23 Aug 2020 15:23:03 +0530
  Finished:     Sun,23 Aug 2020 15:39:12 +0530
Ready:          True
Restart Count:  14
  1. 我可以参考哪些日志以找出触发重新启动的原因?应用程序日志根本没有帮助;在正在运行的应用程序的最后一个日志之后;我可以将日志的起始行作为下一行。
  2. 解决此问题的推荐方法是什么?

谢谢

解决方法

137表示128 + 9(因此被 kill -9 杀死) https://tldp.org/LDP/abs/html/exitcodes.html

看看pod和应用程序日志。

也许容器需要更多资源才能启动?