Kubernetes Submit Queue
b72c006eb3
Merge pull request #34554 from derekwaynecarr/quota-storage-class
Automatic merge from submit-queue (batch tested with PRs 37270, 38309, 37568, 34554)
Ability to quota storage by storage class
Adds the ability to quota storage by storage class.
1. `<storage-class>.storageclass.storage.k8s.io/persistentvolumeclaims` - quota the number of claims with a specific storage class
2. `<storage-class>.storageclass.storage.k8s.io/requests.storage` - quota the cumulative request for storage in a particular storage class.
For example:
```
$ cat quota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
name: storage-quota
spec:
hard:
requests.storage: 100Gi
persistentvolumeclaims: 100
gold.storageclass.storage.k8s.io/requests.storage: 50Gi
gold.storageclass.storage.k8s.io/persistentvolumeclaims: 5
silver.storageclass.storage.k8s.io/requests.storage: 75Gi
silver.storageclass.storage.k8s.io/persistentvolumeclaims: 10
bronze.storageclass.storage.k8s.io.kubernetes.io/requests.storage: 100Gi
bronze.storageclass.storage.k8s.io/persistentvolumeclaims: 15
$ kubectl create -f quota.yaml
$ cat pvc-bronze.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
generateName: pvc-bronze-
annotations:
volume.beta.kubernetes.io/storage-class: "bronze"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
$ kubectl create -f pvc-bronze.yaml
$ kubectl get quota storage-quota -o yaml
apiVersion: v1
kind: ResourceQuota
...
status:
hard:
bronze.storageclass.storage.k8s.io/persistentvolumeclaims: "15"
bronze.storageclass.storage.k8s.io/requests.storage: 100Gi
gold.storageclass.storage.k8s.io/persistentvolumeclaims: "5"
gold.storageclass.storage.k8s.io/requests.storage: 50Gi
persistentvolumeclaims: "100"
requests.storage: 100Gi
silver.storageclass.storage.k8s.io/persistentvolumeclaims: "10"
silver.storageclass.storage.k8s.io/requests.storage: 75Gi
used:
bronze.storageclass.storage.k8s.io/persistentvolumeclaims: "1"
bronze.storageclass.storage.k8s.io/requests.storage: 8Gi
gold.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
gold.storageclass.storage.k8s.io/requests.storage: "0"
persistentvolumeclaims: "1"
requests.storage: 8Gi
silver.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
silver.storageclass.storage.k8s.io/requests.storage: "0"
```
2016-12-09 14:11:21 -08:00
..
2016-10-27 15:16:30 -07:00
2016-06-29 17:47:36 -07:00
2016-11-22 12:03:28 +01:00
2016-07-29 13:29:34 -07:00
2016-11-30 22:23:40 -08:00
2016-12-09 13:22:18 -08:00
2016-12-06 13:00:31 -08:00
2016-11-23 10:40:42 -08:00
2016-12-09 09:28:57 +08:00
2016-12-09 13:26:59 -05:00
2016-06-08 17:22:12 -07:00
2016-07-12 21:52:00 -07:00
2016-07-12 21:52:00 -07:00
2016-07-12 21:52:54 -07:00
2016-07-12 21:52:00 -07:00
2016-09-15 13:22:45 +02:00
2016-10-17 16:10:49 -07:00
2016-10-24 14:41:56 -07:00
2016-10-24 14:41:56 -07:00
2016-10-24 14:41:56 -07:00
2016-07-12 21:52:00 -07:00
2016-12-05 16:20:30 -08:00
2016-06-29 17:47:36 -07:00
2016-11-30 22:23:40 -08:00
2016-07-12 21:52:00 -07:00
2016-06-29 18:46:07 -07:00
2016-11-01 14:56:34 -07:00
2016-11-02 23:49:30 -07:00
2016-10-20 16:47:20 -04:00
2016-06-29 17:47:36 -07:00
2016-10-20 16:47:20 -04:00
2016-12-09 08:50:21 -08:00
2016-06-29 17:47:36 -07:00
2016-09-27 14:53:16 -07:00
2016-07-15 08:42:12 -07:00
2016-08-02 10:27:29 -04:00
2016-07-12 21:52:00 -07:00
2016-08-26 12:33:06 -04:00
2016-11-07 08:41:17 +01:00
2016-12-05 19:29:34 -05:00
2016-12-05 12:43:54 +01:00
2016-09-22 13:30:41 -04:00
2016-10-24 17:10:47 -07:00
2016-10-20 16:47:20 -04:00
2016-12-06 13:45:10 -05:00
2016-08-31 13:21:42 -07:00
2016-08-31 13:21:42 -07:00
2016-10-25 14:27:48 -07:00
2016-08-30 14:15:21 -07:00
2016-07-12 21:52:00 -07:00
2016-10-12 22:33:58 -07:00
2016-10-24 14:41:56 -07:00
2016-07-12 21:52:54 -07:00
2016-10-24 14:41:56 -07:00
2016-12-03 18:57:30 -05:00
2016-10-24 18:00:08 -07:00
2016-09-14 05:35:51 -07:00
2016-12-07 14:33:34 -08:00
2016-11-11 16:29:49 -08:00
2016-10-29 14:20:39 -07:00
2016-09-22 13:30:41 -04:00
2016-07-12 21:52:00 -07:00
2016-11-01 15:59:50 -04:00
2016-06-29 17:47:36 -07:00
2016-11-02 13:14:00 -07:00
2016-10-22 21:40:08 -07:00
2016-10-17 11:50:02 -02:00
2016-12-06 13:45:10 -05:00
2016-12-06 13:45:10 -05:00
2016-07-12 21:52:00 -07:00
2016-11-07 02:41:50 -08:00
2016-10-21 17:32:33 -07:00
2016-07-12 21:52:00 -07:00
2016-10-18 11:09:38 +02:00
2016-10-29 14:20:39 -07:00
2016-10-18 11:11:03 +02:00
2016-06-29 17:47:36 -07:00
2016-11-03 00:43:06 -07:00
2016-08-24 13:09:13 -07:00
2016-10-19 09:47:21 -04:00
2016-07-12 21:52:00 -07:00
2016-07-12 21:52:00 -07:00
2016-07-12 21:52:00 -07:00
2016-11-01 01:13:11 -07:00
2016-11-30 15:23:35 +08:00
2016-10-29 14:20:39 -07:00
2016-07-12 21:52:00 -07:00
2016-07-12 21:52:00 -07:00
2016-10-20 16:47:20 -04:00
2016-11-02 15:39:06 -07:00