我在 minikube (kubernetes) 开发环境中的 docker 容器中托管了一个通用反应应用程序。我使用 virtualbox,实际上我在这个 vm 上有更多的微服务。
在这个 react 应用程序中,我使用pm2
在更改服务器代码时重新启动我的应用程序,并webpack hmr
在更改客户端代码时热重载客户端代码。
每说 15-45 秒,pm2
就会向我记录以下消息,表明应用程序由于SIGKILL
.
App [development] with id [0] and pid [299], exited with code [0] via signal [SIGKILL]
我一生都无法弄清楚为什么会这样。它相对频繁,但不是那么频繁,以至于每秒都发生一次。这很烦人,因为每次发生这种情况时,我的 webpack 包都必须重新编译。
pm2
在这种类型的开发环境中可能会收到 SIGKILL 的一些原因是什么?另外,有哪些可能的调试方法?
我注意到我的使用 pm2 在服务器更改时重新启动的服务在它们只是后端服务时没有这个问题。即当他们没有webpack
. 此外,我在我的应用程序的 prod 版本中没有看到这些 SIGKILL 问题。这对我来说表明 webpack hmr setup、pm2 和 minikube / docker 的组合存在一些问题。
我已经在本地(不在 docker /minikube 中)尝试了该应用程序,它没有任何 sigkills 就可以正常工作,因此它不能单独使用 webpack hmr。Kubernetes 会杀死使用大量内存的服务吗?(也许它认为我的应用程序正在使用大量内存)。如果不是这样,kubernetes 或 docker 发送 SIGKILL 的原因可能是什么?有没有办法调试这个?
非常感谢任何指导。谢谢