我不了解kubernetesLimitRange
配置。我创建了一个包含以下内容的清单:
apiVersion: v1
kind: LimitRange
metadata:
name: cpu-limit-range
spec:
limits:
- default:
cpu: 4
defaultRequest:
cpu: 4
max:
cpu: 6
type: Container
然后我运行以下命令:
[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.
当然,我知道容器的限制:cpu的大部分不能比上面的配置更大。否则,kubernets将报告cpu不足。
然而,容器的max:cpu的大部分数量也不能大于上述配置的数量。
我无法区分最大值和极限值,因为值大于极限值或最大值是不允许的。
所以,我想知道它们分别代表什么以及它们之间的关系。
如果我正确理解你的问题,你问的是——LimitRange
资源中设置的容器的最小、最大、默认和默认请求限制之间有什么区别。答案很简单:
- defaultRequest——如果容器没有指定自己的值,则会给容器多少CPU/Memory
- default--是容器的CPU/Memory量的默认限制,如果它没有指定自己的值
- max--容器可以要求的CPU/内存量的最大限制。也就是说,它不能设置自己的限制
- min——容器可以要求的CPU/内存的最小限制量。也就是说,它不能将自己的限制设置为小于该限制
这是官方文档的一部分,其中有关于该主题的示例和更多信息。