本任务将展示如何配置API对象的配额,包括对Kubernetes PersistentVolumeClaim对象 和Service对象的配额配置。配额限制了可以在某一名字空间(namespace)中所创建的特定类型的对象 的数量。可以通过ResourceQuota 对象设定配额。
创建一个单独的名字空间,以便于隔离您在本练习中创建的资源与集群的其他资源。
kubectl create namespace quota-object-example
以下展示了ResourceQuota对象的配置文件内容:
apiVersion: v1
kind: ResourceQuota
metadata:
name: object-quota-demo
spec:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"
下面,首先创建ResourceQuota对象:
kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects.yaml --namespace=quota-object-example
然后可以通过以下命令查看ResourceQuota对象的详细信息:
kubectl get resourcequota object-quota-demo --namespace=quota-object-example --output=yaml
上述命令的输出显示在quota-object-example名字空间中,最多可以创建一个PersistentVolumeClaim以及两个 LoadBalancer类型的Service,不能创建NodePort类型的Service。
status:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"
used:
persistentvolumeclaims: "0"
services.loadbalancers: "0"
services.nodeports: "0"
下面展示了一个PersistentVolumeClaim对象的配置文件内容:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-quota-demo
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
创建这个PersistentVolumeClaim:
kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc.yaml --namespace=quota-object-example
接下来验证这个PersistentVolumeClaim已经被成功创建:
kubectl get persistentvolumeclaims --namespace=quota-object-example
上述命令的输出显示这个PersistentVolumeClaim已经存在在系统中并处于Pending状态:
NAME STATUS
pvc-quota-demo Pending
第二个PersistentVolumeClaim的配置文件如下所示:
quota-objects-pvc-2.yaml |
---|
kind: PersistentVolumeClaimapiVersion: v1metadata: name: pvc-quota-demo-2spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 4Gi |
尝试创建第二个PersistentVolumeClaim:
kubectl create -f https://k8s.io/docs/tasks/administer-cluster/quota-objects-pvc-2.yaml --namespace=quota-object-example
以上命令的输出中可以看到第二个PersistentVolumeClaim没有被创建,因为如果创建 第二个PersistentVolumeClaim对象将违反名字空间中的配额限制。
persistentvolumeclaims "pvc-quota-demo-2" is forbidden:
exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,
used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
以下字符串用于标记可以由配额限制的API资源:
本文翻译Kubernetes官方文档
本文分享自 kubernetes中文社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有