Cả hai đều là hàng rào tài nguyên ở mức namespace, nhưng ở hai tầng khác nhau.
ResourceQuota — trần cho cả namespace. Giới hạn tổng lượng tài nguyên và cả số lượng object mà namespace được dùng.
yaml
kind: ResourceQuota
spec:
hard:
requests.cpu: "10"
requests.memory: 20Gi
limits.memory: 40Gi
pods: "50"LimitRange — luật cho từng container/Pod. Đặt min, max và giá trị mặc định khi manifest không khai báo.
yaml
kind: LimitRange
spec:
limits:
- type: Container
default: { cpu: 500m, memory: 512Mi } # limit mac dinh
defaultRequest: { cpu: 100m, memory: 128Mi } # request mac dinh
max: { cpu: "2", memory: 4Gi }Điểm bẫy hay hỏi: khi namespace đã có ResourceQuota ràng buộc requests.cpu, Pod không khai request sẽ bị từ chối tạo — trừ khi có LimitRange điền giá trị mặc định.
Vì vậy hai thứ này thường đi cặp: LimitRange lo giá trị mặc định hợp lý, ResourceQuota lo trần chung để một team không chiếm hết cluster.