系列目錄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