自学内容网 自学内容网

二十七、资源限制-LimitRange

LimitRange生产必备

在调度的时候 requests 比较重要,在运行时 limits 比较重要。

一、产生原因

生产中只有ResourceQuota是不够的

在这里插入图片描述

只配置ResourceQuotas的情况下,pod的yaml文件没有配置resources配置,都是0的话,就可以无限配置,永远达不到limit

LimitRange做了什么

在这里插入图片描述

如果pod里面没有配置resources参数,这个时候ResourceQuotas是识别不出来的。我们创建了LimitRange,则这个pod会根据LimitRange的配置自动添加CPU内存配置,所有pod累加不能超过ResourceQuotas的限制。


二、LimitRange配置示例

1. 默认的requests和limits

apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-mem-limit-range
spec:
  limits:
  - default:                        # 默认limits配置
      cpu: 1
      memory: 512Mi
    defaultRequest:                 # 默认requests配置
      cpu: 0.5
      memory: 256Mi
    type: Container

➢ default:默认limits配置

➢ defaultRequest:默认requests配置

如果pod没有配置cpu和内存,则pod会填充使用defaultRequest中的内容。

如果pod只配置Request参数,没有配置limit参数,则pod会自动填充default中的内容。

2. requests和limits的范围

apiVersion: v1
kind: LimitRange
metadata:
  name: cpu-min-max-demo-lr
spec:
  limits:
  - max:                           # 内存CPU的最大配置
      cpu: "800m"
      memory: 1Gi
    min:                           # 内存CPU的最小配置
      cpu: "200m"
      memory: 500Mi
    type: Container

➢ max:内存CPU的最大配置

➢ min:内存CPU的最小配置

3. 限制申请存储空间的大小

apiVersion: v1
kind: LimitRange
metadata:
  name: storagelimits
spec:
  limits:
  - type: PersistentVolumeClaim
    max:                                       # 最大PVC的空间
      storage: 2Gi
    min

原文地址:https://blog.csdn.net/Cyan_Jiang/article/details/145282762

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!