Skip to content

Commit b8013bf

Browse files
authored
Merge pull request #5218 from sunnylovestiramisu/updateKEP
KEP-3751 Correct ResourceQuota Usage
2 parents 03491a5 + 044ab00 commit b8013bf

File tree

1 file changed

+3
-2
lines changed
  • keps/sig-storage/3751-volume-attributes-class

1 file changed

+3
-2
lines changed

keps/sig-storage/3751-volume-attributes-class/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ spec:
372372

373373
#### Administrator Quota Restrictions
374374

375-
A cluster admin wants to control costs while giving application developers the freedom to optimize their applications. They set a per VolumeAttributesClass limit to the maximum count of PVCs that can be specified in a cluster ResourceQuota. When an application dev modifies a PVC to request a higher tier of VolumeAttributesClass but there is no quota, the request is rejected. As the ResourceQuota is a cluster-scoped object, only the cluster admin and not application devs can change limits.
375+
A cluster admin wants to control costs while giving application developers the freedom to optimize their applications. They set a per VolumeAttributesClass limit to the maximum count of PVCs that can be specified in a cluster ResourceQuota. When an application dev modifies a PVC to request a higher tier of VolumeAttributesClass but there is no quota, the request is rejected. As the ResourceQuota is a namespaced object, only the cluster admin and not application devs can change limits.
376376

377377
An example of defining ResourceQuota with [Scope](https://kubernetes.io/docs/concepts/policy/resource-quotas/#quota-scopes) for VolumeAttributesClass:
378378

@@ -383,6 +383,7 @@ metadata:
383383
name: gold-pvcs
384384
spec:
385385
hard:
386+
requests.storage: "10Gi"
386387
count/persistentvolumeclaims: "10"
387388
scopeSelector:
388389
matchExpressions:
@@ -391,7 +392,7 @@ spec:
391392
values: ["gold"]
392393
```
393394

394-
The VolumeAttributesClass scope restricts a quota to track the following resource: PVCs in a VolumeAttributesClass. We are calculating spec.volumeAttributesClass, status.currentVolumeAttributesClass and status.modifyVolumeStatus.targetVolumeAttributesClassName with support of matchExpressions(In, NotIn, Exists, DoesNotExist).
395+
The VolumeAttributesClass scope restricts a quota to track the following resource: PVCs in a VolumeAttributesClass and capacity. We are calculating spec.volumeAttributesClass, status.currentVolumeAttributesClass and status.modifyVolumeStatus.targetVolumeAttributesClassName with support of matchExpressions(In, NotIn, Exists, DoesNotExist).
395396

396397
Note:
397398
1. The quota check is only happening at the spec.volumeAttributesClass update. Thus quota check will NOT block status(status.currentVolumeAttributesClass and status.modifyVolumeStatus.targetVolumeAttributesClassName) update in external-resizer.

0 commit comments

Comments
 (0)