实时警报通知:微信告警通知的重要性解析
778
2022-11-02
Kubernetes 配置 API 对象配额
API 对象配置配额包括 PersistentVolumeClaims 和 Services。配额限制了可以在命名空间中创建的特定类型对象的数量。可以在 ResourceQuota 对象中指定配额。
创建命名空间
创建一个命名空间以便创建的资源和集群中的其余部分相隔离。
kubectl create namespace quota-object-example
创建 ResourceQuota
下面是一个 ResourceQuota 对象的配置文件:
admin/resource/quota-objects.yamlapiVersion: v1kind: ResourceQuotametadata: name: object-quota-demospec: hard: persistentvolumeclaims: "1" services.loadbalancers: "2" services.nodeports: "0"
创建 ResourceQuota
kubectl create -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"
创建 PersistentVolumeClaim
下面是一个 PersistentVolumeClaim 对象的配置文件:
admin/resource/quota-objects-pvc.yamlapiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvc-quota-demospec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 3Gi
创建 PersistentVolumeClaim:
kubectl create -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example
确认已创建完 PersistentVolumeClaim:
kubectl get persistentvolumeclaims --namespace=quota-object-example
输出信息表明 PersistentVolumeClaim 存在并且处于 Pending 状态:
NAME STATUSpvc-quota-demo Pending
尝试创建第二个 PersistentVolumeClaim
下面是第二个 PersistentVolumeClaim 的配置文件:
admin/resource/quota-objects-pvc-2.yamlapiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvc-quota-demo-2spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 4Gi
尝试创建第二个 PersistentVolumeClaim:
kubectl create -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example
输出信息表明第二个 PersistentVolumeClaim 没有创建成功,因为这会超出命名空间的配额。
persistentvolumeclaims "pvc-quota-demo-2" is forbidden:exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
注意事项
下面这些字符串可被用来标识那些能被配额限制的 API 资源:
String | API Object |
---|---|
"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
发表评论
暂时没有评论,来抢沙发吧~