当前位置: 首页 > 知识库问答 >
问题:

Kubernetes吊舱(Java)重新启动,137个吊舱终止

伏星汉
2023-03-14

我们正在使用Docker 1.19运行库伯内特斯(1.18)

Container是一个基于Java13的Spring启动应用程序(使用基本图像作为openjdk: 13-alpin),下面是内存设置。

豆荚:

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

容器:

  • Xms:256M,Xmx:512M

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

在pod事件中,我可以看到活性和准备状态探测器的警告;并且pod正在重新启动。

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. 解决此问题的推荐html" target="_blank">方法是什么?

谢谢

共有1个答案

闾丘坚诚
2023-03-14

137表示128 9(因此它是用kill-9杀死的)https://tldp.org/LDP/abs/html/exitcodes.html

查看pod和应用程序日志

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

 类似资料:
  • 我已经在节点(node1)上的pod(pod1)上部署了一个Spring Boot应用程序。我还在不同节点(node2)上的另一个pod(pod2)上部署了JMeter。我试图从POD2执行自动负载测试。为了执行负载测试,我要求为每个测试用例重新启动pod1。如何从POD2重新启动pod1?

  • null null null > 将Kubernetes降级为。 使用重新初始化了Kubernetes,因为服务器有另一个外部IP,无法通过其他主机访问,而Kubernetes倾向于选择该IP作为API服务器IP。由Flannel授权。 初始化后没有连接节点的结果输出 看起来API服务器已按其应有的方式部署 然后我将法兰绒网络pod应用于

  • 我的Java微服务正在AWS EC2实例上托管的k8s集群中运行。 我有大约30个微服务(nodejs和Java8的良好组合)在K8s集群中运行。我面临一个挑战,我的java应用程序pods意外重启,导致应用程序5xx数量增加。 为了调试它,我在pod和应用程序中启动了一个newrelic代理,并找到了以下图表: 在我可以看到的地方,我的Xmx值为6GB,我的用途最大为5.2GB。 这清楚地表明J

  • 我对Kubernetes是新来的。 我发现了2个pod优先级选项-优先级类别和服务质量。它们之间有什么不同? (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/https://kubernetes.io/docs/tasks/configure-pod-container/quality-servi

  • 我的要求是在自定义指标上扩展POD,如队列中的挂起消息,PODS必须增加以处理作业。在kubernetes,Scale up在普罗米修斯适配器和普罗米修斯操作员中工作得很好。 我在pods中有长时间运行的进程,但HPA检查自定义度量并试图缩小规模,因为这个进程杀死了操作的中间并丢失了消息。我如何控制HPA只杀死没有进程运行的自由豆荚。 序列查询:‘{namespace=“default”,serv