示例
配置默认的requests和limits
创建一个requests.cpu默认为0.5(0.5为半颗CPU,1个CPU等于1000m)、requests.memory默认为256MB;limits.cpu为1、limits.memory为512MB的LimitRange:
$ kubectl create -f cpu-mem-limit-range.yaml -n quota-example
limitrange/cpu-mem-limit-range created
$ kubectl get limitrange -n quota-example
NAME CREATED AT
cpu-mem-limit-range 2023-12-06T08:55:02Z
$ kubectl describe limitrange cpu-mem-limit-range -n quota-example
Name: cpu-mem-limit-range
Namespace: quota-example
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Container cpu - - 500m 1 -
Container memory - - 256Mi 512Mi -
注意:
如果在Pod的Container中配置了requests和limits参数,会以自行配置的参数为准(如果没有超过LimitRanger的最大、最小限制的话)。
如果配置了limits而没有配置requests,那么requests的默认值将被设置成limits配置的参数。
配置requests和limits的范围
上述针对没有设置requests和limits字段的资源添加了默认值,但是并没有限制requests和limits的最大值和最小值。在管理资源分配时,对requests和limits的最大值和最小值也需要进行管控。
创建一个内存最小值为500MB、最大值为1GB;CPU最小值为200MB、最大值为800MB的LimitRange:
$ kubectl describe limitrange cpu-mem-min-max-demo -n quota-example
Name: cpu-mem-min-max-demo
Namespace: quota-example
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
Container cpu 200m 800m 800m 800m -
Container memory 500Mi 1Gi 1Gi 1Gi -
限制申请存储空间的大小
LimitRange也可以对存储申请的大小进行限制。比如限制PVC申请空间的最小值为1GB、最大值为2GB(结合ResourceQuota可以同时限制最多存储使用量和最大PVC创建的数量)
$ kubectl describe limitrange storagelimits -n quota-example
Name: storagelimits
Namespace: quota-example
Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
---- -------- --- --- --------------- ------------- -----------------------
PersistentVolumeClaim storage 1Gi 2Gi - - -
最后更新于
这有帮助吗?