Kubernetes部署的Node应用每15分钟自动重启求助
Kubernetes部署Node应用每15分钟自动重启排查方案
先看你提供的错误日志:
npm ERR! path /home/node/source
npm ERR! command failed
npm ERR! signal SIGTERM
npm ERR! command sh -c -- nodemon .
既然换用node命令启动问题依旧,说明和nodemon无关,核心是Kubernetes环境每15分钟发送了SIGTERM信号终止进程,重点从以下方向排查:
- 检查存活/就绪探针配置:查看Pod的
livenessProbe或readinessProbe参数,尤其是periodSeconds是否设为900(15分钟)、failureThreshold是否为1。如果探针逻辑不合理(比如检查的接口超时、返回错误),会触发Kubernetes重启Pod。 - 排查资源限制问题:确认Pod的
resources字段中requests和limits的CPU/内存设置是否足够。运行kubectl top pods查看该Pod的资源使用趋势,如果每15分钟内存/CPU接近限制,Kubernetes会触发OOM或资源阈值终止进程。 - 查看节点级定时操作:检查集群节点的kubelet日志(
journalctl -u kubelet),看是否有每15分钟触发的清理任务、节点维护操作,或者OOM Killer日志(dmesg | grep oom-killer),这些都可能导致Pod被终止。 - 检测应用内存泄漏:即使不用nodemon,应用本身如果有内存泄漏,运行15分钟后内存占用持续升高,触发Kubernetes的内存限制。可以在本地运行应用并使用
node --inspect或内存分析工具排查泄漏点。 - 确认Pod生命周期配置:检查
terminationGracePeriodSeconds是否过短,或者preStop钩子是否有异常执行逻辑,但这类问题一般不会定时触发,可作为次要排查点。
内容的提问来源于stack exchange,提问作者Vishnu priya
相关产品推荐
相关产品推荐

