如何解决Kubernetes / Airflow Celery worker任务失败,并出现SigKill 9错误,但没有任何解释猜测OOME?
我正在测试Kubernetes上的气流。目前,我正在运行一个简单的DAG,并有意尝试将其崩溃以查看通过运行内存密集型任务会发生什么。我的进程查询了一个非常大的表,而我正在尝试生成内存不足(OOM)错误。我知道这种情况的发生是因为任务失败,但是我只能看到的唯一日志给出了模糊的错误:
subprocess.CalledProcessError: Command '['/tmp/venvuydlj38n/bin/python','/tmp/venvuydlj38n/script.py','/tmp/venvuydlj38n/script.in','/tmp/venvuydlj38n/script.out','/tmp/venvuydlj38n/string_args.txt']' died with <Signals.SIGKILL: 9>.
这是我唯一看到的东西。 Kubernetes中没有任何一件事告诉我原因。广告连播没有重新启动,并且在kubectl get events
上看不到任何内容。我不明白为什么Kubernetes没有驱逐Pod。从Kubernetes文档中,Kubernetes应该终止该Pod并重新安排它的时间,但是看起来好像没有发生-但我的过程仍然遇到SigKill 9错误。至此,我知道它是一个OOME,但是我想找到可以确认这一点的日志。如果我遇到Sigkill 9错误,我想知道其他原因。
其他一些信息:我将芹菜工人设置为2GB资源限制。
解决方法
要检查pod是否被OOM杀死,可以在资源上运行kubectl describe
:
$ kubectl describe <pod_name>
...
State: Running
Started: Thu,10 Oct 2019 11:14:13 +0200
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
Started: Thu,10 Oct 2019 11:04:03 +0200
Finished: Thu,10 Oct 2019 11:14:11 +0200
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。