在Kubernetes中,ResourceQuota和LimitRange对象之间有什么区别

Haf*_*fiz 6 kubernetes

请解释一下Kubernetes中ResourceQuotavs LimitRange对象之间的区别...?

P A*_*man 5

LimitRangeResourceQuota是Kubernetes集群管理员用来控制资源使用的对象。

ResourceQuota 用于限制名称空间的总资源消耗,例如:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: object-counts
spec:
  hard:
    configmaps: "10" 
    persistentvolumeclaims: "4" 
    replicationcontrollers: "20" 
    secrets: "10" 
    services: "10"
Run Code Online (Sandbox Code Playgroud)

LimitRange用于在项目内的容器和容器级别上管理约束。

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "resource-limits" 
spec:
  limits:
    -
      type: "Pod"
      max:
        cpu: "2" 
        memory: "1Gi" 
      min:
        cpu: "200m" 
        memory: "6Mi" 
    -
      type: "Container"
      max:
        cpu: "2" 
        memory: "1Gi" 
      min:
        cpu: "100m" 
        memory: "4Mi" 
      default:
        cpu: "300m" 
        memory: "200Mi" 
      defaultRequest:
        cpu: "200m" 
        memory: "100Mi" 
      maxLimitRequestRatio:
        cpu: "10" 
Run Code Online (Sandbox Code Playgroud)

请求超出这些LimitRange约束条件的资源的单个Pod或Container 将被拒绝,而ResourceQuota只应用于聚合中所有名称空间/项目的所有对象。

  • 创建 ResourceQuota 时需要注意的一点是,您还需要在其旁边创建一个 Limit-Range 对象。:) (2认同)