Kubernetes Pod 00M杀死问题

场景是我们基于nginx图像运行一些网站。 当我们进行群集设置时,每个节点具有2cores和4GB RAM。 这些Pod具有以下配置,cpu:40m,内存:100MiB。 后来,我们升级了集群,每个集群具有4核和8GB RAM。 但是在每个吊舱中不断获取00MKilled。 因此,我们将每个Pod上的内存增加到300MiB左右,然后一切正常。

我的问题是为什么会发生这种情况以及如何解决。 附言如果我们将每个节点恢复为2cores和4GB RAM,则pod可以在减少100MiB资源的情况下正常工作。

任何帮助将不胜感激。 问候。

评论
ased
ased

对于kubernetes中的每个容器,您可以为cpu和内存配置资源,如下所示

    resources:
      limits:
        cpu: 100m
        memory: "200Mi"
      requests:
        cpu: 50m
        memory: "100Mi"

根据文件

当您为Pod中的容器指定资源请求时,调度程序将使用此信息来决定将Pod放置在哪个节点上。当您为容器指定资源限制时,kubelet会强制执行这些限制,以便不允许运行中的容器使用比您设置的限制更多的资源。

So if you set memory: 100MiB on resources:limits and your container consume more than 100MiB memory then you will get out of memory (OOM) error

For more details about request and limits on resources click here

点赞
评论