Kubernetes Pod 以退出代码 143 终止

问题描述 投票:0回答:2

我正在 Kubernetes 中使用容器化的 Spring boot 应用程序。但应用程序会自动退出并重新启动,并显示退出代码 143 和错误消息“Error”。

我不确定如何确定此错误的原因。

我的第一个想法是 Kubernetes 由于资源使用率过高而停止了容器,如here所述,但我看不到相应的 kubelet 日志。

有什么方法可以确定

SIGTERM
的原因/起源吗?也许来自 spring-boot 本身,或者来自 JVM?

spring-boot docker kubernetes jvm exit-code
2个回答
10
投票

退出代码 143

  1. 表示进程被

    external signal
    终止。

  2. 数字 143 是两个数字的和:128+x,

    # where x is the signal number sent to the process that caused it to terminate.

  3. 示例中,x等于15,即

    SIGTERM
    信号的编号,表示进程被强行杀死。

希望这能更好地帮助您。


3
投票

我刚刚遇到了同样的问题。我能够通过查看 Kubernetes 节点上的日志来追踪

Exit Code 143
的来源(注意,是 node 上的日志,而不是 Pod)。 (我使用Lens作为获取节点外壳的简单方法,但还有其他方法)

然后,如果您查看

/var/log/messages
(我发现在某些设置中可能是
/var/log/syslog
)中的
terminated
,您会看到类似这样的内容:

Feb  2 11:52:27 np-26992252-3 kubelet[23125]: I0202 11:52:27.541751   23125 kubelet.go:2214] "SyncLoop (probe)" probe="liveness" status="unhealthy" pod="default/app-compute-deployment-56ccffd87f-8s78v"
Feb  2 11:52:27 np-26992252-3 kubelet[23125]: I0202 11:52:27.541920   23125 kubelet.go:2214] "SyncLoop (probe)" probe="readiness" status="" pod="default/app-compute-deployment-56ccffd87f-8s78v"
Feb  2 11:52:27 np-26992252-3 kubelet[23125]: I0202 11:52:27.543274   23125 kuberuntime_manager.go:707] "Message for Container of pod" containerName="app" containerStatusID={Type:containerd ID:c3426d6b07fe3bd60bcbe675bab73b6b4b3619ef4639e1c23bca82692633765e} pod="default/app-comp
ute-deployment-56ccffd87f-8s78v" containerMessage="Container app failed liveness probe, will be restarted"
Feb  2 11:52:27 np-26992252-3 kubelet[23125]: I0202 11:52:27.543374   23125 kuberuntime_container.go:723] "Killing container with a grace period" pod="default/app-compute-deployment-56ccffd87f-8s78v" podUID=89fdc1a2-3a3b-4d57-8a4d-ab115e52dc85 containerName="app" containerID="con
tainerd://c3426d6b07fe3bd60bcbe675bab73b6b4b3619ef4639e1c23bca82692633765e" gracePeriod=30
Feb  2 11:52:27 np-26992252-3 containerd[22741]: time="2023-02-02T11:52:27.543834687Z" level=info msg="StopContainer for \"c3426d6b07fe3bd60bcbe675bab73b6b4b3619ef4639e1c23bca82692633765e\" with timeout 30 (s)"
Feb  2 11:52:27 np-26992252-3 containerd[22741]: time="2023-02-02T11:52:27.544593294Z" level=info msg="Stop container \"c3426d6b07fe3bd60bcbe675bab73b6b4b3619ef4639e1c23bca82692633765e\" with signal terminated"

需要注意的是

containerMessage="Container app failed liveness probe, will be restarted"

© www.soinside.com 2019 - 2024. All rights reserved.