Kubernetes:如果我们已经拥有HPA,那么资源限制的用途是什么?

问题描述

说我将资源请求和限制设置为@H_502_1@

resources:
  requests:
    cpu: "100m"
    memory: "512Mi"
  limits:
    cpu: "500m"
    memory: "1024Mi"

targetcpuutilizationPercentage设置为80 @H_502_1@

因此,如果Pod平均使用超过80m的cpu,它将自动缩放。@H_502_1@

所以,我想了解的是这种情况下的资源限制是没有用的,对吧?或者,它起什么作用?@H_502_1@

解决方法

正如Zerkms所说,资源限制是每个容器。

还有其他需要注意的地方:资源限制将用于Kubernetes驱逐Pod以及将Pod分配给节点。例如,如果将其设置为1024Mi并且消耗1100Mi,则Kubernetes知道它可能会驱逐该Pod。

如果满足了HPA和当前的扩展度量标准,并且Kubernetes应该扩展副本集,它将在为节点调度Pod之前检查节点的内存和Pod的内存请求。