Kubernetes 请求和限制关系

问题描述

我已经指定我想在我的资源请求中使用 4 个 vcpu

这与我描述节点时看到的不一致

  Resource                    Requests    Limits
  --------                    --------    ------
  cpu                         410m (10%)  100m (2%)
  memory                      440Mi (2%)  640Mi (4%)

我没有指定限制,这看起来限制低于请求的资源,是这种情况吗?如果是这样,我需要指定限制吗?

这是我的清单:

kind: Workflow
Metadata:
  name: ensembl-orthologs
  namespace: argo-events
  generateName: ensembl-orthologs-
spec:
  entrypoint: ensembl-orthologs
  templates:
    - name: ensembl-orthologs
      nodeselector:
        instanceType: t3.xlarge
      resources:
        requests:
          memory: '16G'
          cpu: '4'
      container:
        image: REDACTED
        imagePullPolicy: Always
        volumeMounts:
          - name: REDACTED
            mountPath: REDACTED
       

解决方法

如果您未指定 CPU 或 RAM 限制,则该资源不受限制。限制的百分比/总数主要仅供参考,限制可以(并且通常确实)在设置时最终高于请求,但设置 CPU 限制可能会适得其反(我确实建议设置内存限制以提高系统稳定性,即使如果它非常高)。

此外,您还在一个似乎没有运行的工作流对象上进行设置,因此这些 pod 不会计入当前总数。