首页/云/Kubernetes 速查/ResourceQuota 与 LimitRange 分工
调度与资源52 条

ResourceQuota 与 LimitRange 分工

一个管命名空间「总量」,一个管「单个对象与默认值」:配额控制整体上限,LimitRange 补默认并约束单容器,组合使用才完整。

Kubernetes 速查云更新于 2026-10-13

两个对象各管一段

ResourceQuota 管命名空间的总量:总 requests、总 limits 与对象数量。LimitRange 管单个对象:容器与 Pod 的上下限,并在清单没写 resources 时补上默认 requests 与 limits。只上配额,没写 requests 的模板会因缺少必填项被拒绝;只上 LimitRange,整体用量依然没有上限。组合使用才能既统一基线又守住总量。

基本信息

共同点都是命名空间级对象,都在对象创建与更新时生效
ResourceQuota 粒度命名空间累计量:requests.cpu、limits.memory、pods 计数等
LimitRange 粒度单个容器、单个 Pod 或单条 PVC
默认值来源LimitRange 的 default 与 defaultRequest 字段
启用顺序建议先 LimitRange 再 ResourceQuota,存量清单更容易平滑过渡

典型使用场景

  • 多团队共享集群:用配额分配总容量,用 LimitRange 统一最小可用基线
  • 接管历史项目:先补默认值,避免老清单因缺少 resources 被直接拒绝
  • 成本约束:限制命名空间总 limits,防止个别业务把节点资源吃满
  • 下线清理:用数量配额防止临时资源长期沉淀
  • 平台交付:把两者做成命名空间模板,新命名空间一次性带上基线

LimitRange 补默认值

LimitRange 补默认值
apiVersion: v1
kind: LimitRange
metadata:
  name: ns-defaults
  namespace: prod
spec:
  limits:
    - type: Container
      default:                  # 未写 limits 时补上
        cpu: 500m
        memory: 512Mi
      defaultRequest:           # 未写 requests 时补上
        cpu: 100m
        memory: 128Mi
      max:                      # 单容器上限
        cpu: "2"
        memory: 2Gi

ResourceQuota 守总量

ResourceQuota 守总量
apiVersion: v1
kind: ResourceQuota
metadata:
  name: prod-quota
  namespace: prod
spec:
  hard:
    requests.cpu: "20"
    requests.memory: 40Gi
    limits.cpu: "40"
    limits.memory: 80Gi
    pods: "50"

分工对照

维度ResourceQuotaLimitRange
管控对象命名空间累计用量与对象数单个容器、Pod、PVC
是否补默认值不提供提供 default 与 defaultRequest
作用时机累计校验总量是否越界准入时补默认并校验上下限
典型用途防止整体失控统一资源基线与单对象边界
组合效果两者同时存在时都会校验先按 LimitRange 补默认,再按 Quota 校验总量
配额里出现 requests.cpu、limits.memory 这类键后,该命名空间内所有 Pod 都必须声明对应字段,否则创建直接被拒,这正是 LimitRange 补默认值的价值所在。
启用配额会让原本能创建的清单突然失败:先在测试命名空间验证存量清单,再按批次推进,避免发布窗口被准入校验打断。

易错点

  • 只上配额不给默认值:没写 resources 的模板全部创建失败,常被误判成集群故障
  • LimitRange 的 max 小于存量 Pod 的现状:更新这些工作负载时被拒,需先调整现有声明
  • 只上 LimitRange 不看总量:默认值整齐了,整体仍可能吃掉整个节点的资源
  • 单容器上限与命名空间配额各自设计:容器级 max 之和远超配额时,真正触顶的是配额而非容器上限

数据来源与参考

  • Kubernetes 官方文档 · 资源配额与 LimitRange 配合
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌