问题描述
如何限制一个命名空间中用户使用的PVC数量以及申请PVC存储空间的最大值。
问题分析
ResourceQuota:限制某个命名空间中的 PVC个数以及这些 PVC的累计容量。新PVC请求如果超过任一上限值将被拒绝。 LimitRange:限制创建PVC的最大值和最小值。
问题解决
1.通过ResourceQuota限制创建的PVC的数量和累积容量
$ cat test-resourcequota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
name: storagequota
spec:
hard:
persistentvolumeclaims: "5"
requests.storage: "5Gi"
$ kubectl apply -f test-resourcequota.yaml
$ kubectl get resourcequotas -n default
NAME AGE REQUEST LIMIT
storagequota 10s persistentvolumeclaims: 0/5, requests.storage: 0/5Gi
2.通过LimitRange限制PVC容量的最大最小值
$ cat test-limitrange.yaml
apiVersion: v1
kind: LimitRange
metadata:
name: storagelimits
namespace: default
spec:
limits:
- type: PersistentVolumeClaim
max:
storage: 2Gi
min:
storage: 1Gi
$ kubectl apply -f test-limitrange.yaml
$ kubectl get limitranges -n default
NAME CREATED AT
storagelimits 2022-04-11T07:08:33Z
参考链接
https://kubernetes.io/zh/docs/tasks/administer-cluster/limit-storage-consumption/ 如果您有其他问题,欢迎您联系火山引擎技术支持服务