系列目录html
前面说过,资源配额限制在指定名称空间下,对资源对象数量和特定类型的资源的限制,你能够在ResourceQuota
中指定配额node
咱们建立一个新的名称空间来演示api
kubectl create namespace quota-object-example
如下是资源配额对象的配置app
admin/resource/quota-objects.yaml apiVersion: v1 kind: ResourceQuota metadata: name: object-quota-demo spec: hard: persistentvolumeclaims: "1" services.loadbalancers: "2" services.nodeports: "0"
经过kubectl apply
建立配额对象spa
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects.yaml --namespace=quota-object-example
查看资源配额详细信息code
kubectl get resourcequota object-quota-demo --namespace=quota-object-example --output=yaml
status: hard: persistentvolumeclaims: "1" services.loadbalancers: "2" services.nodeports: "0" used: persistentvolumeclaims: "0" services.loadbalancers: "0" services.nodeports: "0"
输出信息显示,在quota-object-example
名称空间下,只容许最多有一个PersistentVolumeClaim
,最多有两个LoadBalancer
类型的服务,而且不容许有NodePort
类型的服务htm
PersistentVolumeClaim
如下是建立PersistentVolumeClaim
对象的文件对象
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-quota-demo spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 3Gi
经过命令建立它blog
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example
确认已经建立:资源
kubectl get `persistentvolumeclaims` --namespace=quota-object-example
NAME STATUS pvc-quota-demo Pending
输出信息显示persistentvolumeclaims
对象已经建立而且状态为pending
下面尝试再建立一个PersistentVolumeClaim
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-quota-demo-2 spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 4Gi
执行建立命令
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example
persistentvolumeclaims "pvc-quota-demo-2" is forbidden: exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1, used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
经过输出信息能够看到,第二个persistantPersistentVolumeClaim
没有被建立,由于超过了资源配额
注:如下字符串类型能够被用来能够被资源配额使用
字符串 | API 对象 |
---|---|
"pods" | Pod |
"services | Service |
"replicationcontrollers" | ReplicationController |
"resourcequotas" | ResourceQuota |
"secrets" | Secret |
"configmaps" | ConfigMap |
"persistentvolumeclaims" | PersistentVolumeClaim |
"services.nodeports" | Service of type NodePort |
"services.loadbalancers" | Service of type LoadBalancer |
kubectl delete namespace quota-object-example