Files
kubernetes/pkg/kubelet
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-12-03 19:10:46 -05:00
2016-12-09 09:42:02 +01:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-10-21 17:32:32 -07:00
2016-12-08 14:04:01 -08:00
2016-10-21 17:32:32 -07:00
2016-11-23 15:53:09 -08:00
2016-10-21 17:32:32 -07:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-12-09 09:42:01 +01:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-12-09 09:42:02 +01:00
2016-11-23 15:53:09 -08:00
2016-07-16 13:48:21 -04:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-12-09 09:42:01 +01:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-12-08 14:04:01 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00
2016-11-23 15:53:09 -08:00