【K8s任务】为命名空间配置默认的 CPU 请求和限制

参考:https://kubernetes.io/zh/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/

创建 LimitRange

apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-limit-range
spec:
  limits:
  - default:
      cpu: 1
    defaultRequest:
      cpu: 0.5
    type: Container

现在如果命名空间创建一个容器,该容器没有声明自己的 CPU 请求和限制时, 将会给它指定默认的 CPU 请求0.5和默认的 CPU 限制值1.

你只声明容器的限制,而不声明请求会怎么样?

容器的 CPU 请求和 CPU 限制设置相同。

你只声明容器的请求,而不声明它的限制会怎么样?

容器的 CPU 请求被设置为容器配置文件中声明的数值。 容器的CPU限制被设置为 1 CPU,即该命名空间的默认 CPU 限制值。

默认 CPU 限制和请求的动机

如果你的命名空间有一个 资源配额, 那么有一个默认的 CPU 限制是有帮助的。这里有资源配额强加给命名空间的两条限制:

  • 命名空间中运行的每个容器必须有自己的 CPU 限制。
  • 命名空间中所有容器使用的 CPU 总和不能超过一个声明值。

如果容器没有声明自己的 CPU 限制,将会给它一个默认限制,这样它就能被允许运行在一个有配额限制的命名空间中。

posted @ 2021-08-03 15:09  Varden  阅读(404)  评论(0)    收藏  举报