【发布时间】:2021-08-10 16:32:08
【问题描述】:
我正在运行一个 Flask 应用程序并将其从 Docker 容器托管在 Kubernetes 上。 Gunicorn 正在管理回复 API 请求的工作人员。
以下警告消息经常出现,并且似乎由于某种原因正在取消请求。在 Kubernetes 上,Pod 没有显示异常行为或重新启动,并且保持在其内存和 CPU 限制的 80% 以内。
[2021-03-31 16:30:31 +0200] [1] [WARNING] Worker with pid 26 was terminated due to signal 9
我们如何找出这些工人被杀的原因?
【问题讨论】:
-
您找到原因了吗?遇到同样的问题,并尝试指定
--shm-size- 但无济于事。 -
自从我们开始使用
--worker-class gevent以来,我们的问题似乎已经消失了。我怀疑 Simon 是对的,这要么是内存不足错误,要么是后台进程运行时间过长,主进程 (1) 决定终止它。 -
Meta:我不知道为什么这个问题被否决了。如果您认为需要进一步澄清,请发表评论。
-
我也有同样的问题,gevent没有解决。有谁知道为什么会突然开始? gunicorn 或 kube 有变化吗?
-
也与未回答的问题有关:stackoverflow.com/questions/57745100/…