新聞中心
配置 API 對象配額
本文討論如何為 API 對象配置配額,包括 PersistentVolumeClaim 和 Service。 配額限制了可以在命名空間中創(chuàng)建的特定類型對象的數(shù)量。 你可以在 ResourceQuota 對象中指定配額。

創(chuàng)新互聯(lián)公司主要業(yè)務有網(wǎng)站營銷策劃、成都做網(wǎng)站、網(wǎng)站制作、成都外貿網(wǎng)站建設、微信公眾號開發(fā)、小程序制作、H5建站、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經驗、成都營銷網(wǎng)站建設資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。
在開始之前
你必須擁有一個 Kubernetes 的集群,同時你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個節(jié)點的集群上運行本教程,且這些節(jié)點不作為控制平面主機。 如果你還沒有集群,你可以通過 Minikube 構建一個你自己的集群,或者你可以使用下面任意一個 Kubernetes 工具構建:
- Katacoda
- 玩轉 Kubernetes
要檢查版本,請輸入 ?kubectl version?。
創(chuàng)建命名空間
創(chuàng)建一個命名空間以便本例中創(chuàng)建的資源和集群中的其余部分相隔離。
kubectl create namespace quota-object-example
創(chuàng)建 ResourceQuota
下面是一個 ResourceQuota 對象的配置文件
apiVersion: v1
kind: ResourceQuota
metadata:
name: object-quota-demo
spec:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"
創(chuàng)建 ResourceQuota:
kubectl apply -f https://K8S.io/examples/admin/resource/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 類型的服務,不能有 NodePort 類型的服務。
status:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"
used:
persistentvolumeclaims: "0"
services.loadbalancers: "0"
services.nodeports: "0"
創(chuàng)建 PersistentVolumeClaim
下面是一個 PersistentVolumeClaim 對象的配置文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-quota-demo
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
創(chuàng)建 PersistentVolumeClaim:
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example
確認已創(chuàng)建完 PersistentVolumeClaim:
kubectl get persistentvolumeclaims --namespace=quota-object-example
輸出信息表明 PersistentVolumeClaim 存在并且處于 Pending 狀態(tài):
NAME STATUS
pvc-quota-demo Pending
嘗試創(chuàng)建第二個 PersistentVolumeClaim
下面是第二個 PersistentVolumeClaim 的配置文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-quota-demo-2
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
嘗試創(chuàng)建第二個 PersistentVolumeClaim:
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example
輸出信息表明第二個 PersistentVolumeClaim 沒有創(chuàng)建成功,因為這會超出命名空間的配額。
persistentvolumeclaims "pvc-quota-demo-2" is forbidden:
exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,
used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
說明
下面這些字符串可被用來標識那些能被配額限制的 API 資源:
| 字符串 | API 對象 |
|---|---|
| "pods" | Pod |
| "services" | Service |
| "replicationcontrollers" | ReplicationController |
| "resourcequotas" | ResourceQuota |
| "secrets" | Secret |
| "configmaps" | ConfigMap |
| "persistentvolumeclaims" | PersistentVolumeClaim |
| "services.nodeports" | NodePort 類型的 Service |
| "services.loadbalancers" | LoadBalancer 類型的 Service |
清理
刪除你的命名空間:
kubectl delete namespace quota-object-example
分享標題:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes配置API對象配額
URL地址:http://www.dlmjj.cn/article/cdpjsjp.html


咨詢
建站咨詢
