我对 OOM killer 有一些疑问,对于超出内存限制的 Pod,kubernetes 是否允许在触发 sigkill 之前正常关闭。第二个问题是,kubernetes 是否会立即杀死 Pod,还是仅在节点内存不足时才杀死 Pod
答案1
通常,OOM 杀手使用sigkill
而不是sigterm
。Kubernetes 使用 Linux 内核 OOM 杀手。因此,如果您想了解更多信息,可以阅读 Linux 的常规 OOM 杀手的工作原理。可以以更有利的方式调整其设置。
您可以在这里阅读这篇精彩的文章:
Kubernetes 中的内存不足 (OOM) – 第 1 部分:简介和讨论的主题
Kubernetes 中的内存不足 (OOM) – 第 2 部分:OOM 杀手和应用程序运行时影响