阿里云节点内存请求/限制/使用

问题描述

我们在阿里云上有一个 3 个节点的测试集群

我们没有为每个命名空间或每个 Pod 设置任何内存限制

但是,在阿里云控制台查看节点时,我们看到内存设置了Requested/Limited/Used。当 Used 超过 Limited 阈值

时,Pod 内存不足

有谁知道这个限制是从哪里来的?我们的每个节点似乎都不同,因此它为每个 pod 创建了一个任意限制?

enter image description here

解决方法

老实说,我找不到任何相关信息,您当前的默认限制来自哪里......但无论如何您应该以某种方式解决您的问题。

我建议您手动设置所需的限制,以避免将来出现 OOM。您需要做的是 - 计算近似的资源使用量并正确应用限制

这可以帮助:

Kubernetes: Assign Memory Resources and Limits to Containers,尤其是这部分

内存限制

Kubernetes 管理员可以为其节点定义 RAM 限制。

这些限制的执行优先级高于您的 RAM 大小 Pod 声明并想使用。

让我们定义我们的第一个 LimitRange:25Mi RAM 为最小值,200Mi 为最大值。

nano myRAM-LimitRange.yaml

apiVersion: v1
kind: LimitRange
metadata:
  name: my-ram-limit
spec:
  limits:
  - max:
      memory: 200Mi
    min:
      memory: 25Mi