LimitRange 的默认值、defaultRequest、最大和最小限制之间的关系

zha*_*uan 5 docker kubernetes

我不明白 kubernetesLimitRange配置。我创建了一个包含以下内容的清单:

apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-limit-range
spec:
  limits:
  - default:
      cpu: 4
    defaultRequest:
      cpu: 4
    max:
      cpu: 6

    type: Container
Run Code Online (Sandbox Code Playgroud)

然后我运行以下命令:

[root@localhost ~]# kubectl  delete  pods default-cpu-demo-19 1^C
[root@localhost ~]# kubectl  get pods  -n=limit
NAME                  READY   STATUS    RESTARTS   AGE
default-cpu-demo-19   0/1     Pending   0          9s
[root@localhost ~]# kubectl  describe pods   -n=limit
......(omitted unnecessary echo here)......
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  14s (x8 over 9m2s)  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.
Run Code Online (Sandbox Code Playgroud)

当然,我知道大多数容器的limit:cpu不能大于上述配置。否则kubernets会报cpu不足。

但大多数容器的max:cpu数量也不能大于上述配置。

我无法区分最大值和限制,因为值大于限制或不允许最大值。

所以,我想知道它们分别代表什么以及它们之间的关系。

Gri*_*kin 9

如果我正确理解你的问题,你问的是——资源中设置的容器的最小、最大、默认和默认请求限制之间有什么区别LimitRange。答案很简单:

\n\n
    \n
  • defaultRequest \xe2\x80\x94 是为容器提供多少 CPU/内存,如果它没有指定它自己的值
  • \n
  • 默认 \xe2\x80\x94 是容器的 CPU/内存量的默认限制,如果它没有指定它自己的值
  • \n
  • max \xe2\x80\x94 是容器可以请求的 CPU/内存量的最大限制。即它不能将自己的限制设置得更多
  • \n
  • min \xe2\x80\x94 是容器可以请求的 CPU/内存的最小限制量。即它不能将自己的限制设置为小于该值
  • \n
\n\n

这是官方文档的一部分,其中包含有关该主题的示例和更多信息。

\n