容器资源限制如何在Kubernetes中工作

时间:2020-09-03 17:40:12

标签: resources containers kubernetes-pod

在官方文档here中,pod.spec.container.resources.limits的定义如下: “限制描述了允许的最大计算资源量。”

我了解k8s禁止Pod消耗超出限制所指定的资源。 该文档没有说没有在没有限制中指定的资源量的节点中调度Pod。

例如,如果群集中的每个节点都具有2 cpus,并且我尝试部署将cpu限制定义为3的pod,则我的pod将永远不会运行,并且将处于状态Pending

这是示例模板:mypod.yml

apiVersion: v1
kind: Pod
metadata:
  name: secondbug
spec:
  containers:
  - name: container
    image: nginx
    resources:
      limits:
        cpu: 3

此行为是故意的,为什么?

1 个答案:

答案 0 :(得分:3)

您有3种Pod,没有请求定义的Pod,具有限制和请求的易爆Pod,仅定义了限制或请求的第三种Pod。

对于第三种情况,如果仅定义限制或请求,则另一种将由第一种含义定义:

resources:
  limits:
    cpu: 3

实际上是:

resources:
  limits:
    cpu: 3
  requests:
    cpu: 3

所以您不能只定义一个而没有另一个。因此,在您的情况下,您想为其定义请求,这样就不会受到限制的限制。

相关问题