kubernetes调度之资源配额示例
2019-06-16 15:30
771 查看
前面说过,资源配额限制在指定名称空间下,对资源对象数量和特定类型的资源的限制,你可以在
ResourceQuota中指定配额
创建名称空间
我们创建一个新的名称空间来演示
kubectl create namespace quota-object-example
创建资源配额
以下是资源配额对象的配置
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创建配额对象
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects.yaml --namespace=quota-object-example
查看资源配额详细信息
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类型的服务
创建一个PersistentVolumeClaim
以下是创建
PersistentVolumeClaim对象的文件
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-quota-demo spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 3Gi
通过命令创建它
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
相关文章推荐
- 从kubernetes看如何设计超大规模资源调度系统
- 从kubernetes看如何设计超大规模资源调度系统
- kubernetes学习4--资源配额管理(租户配额)
- Kubernetes中的资源调度与资源管理
- 从kubernetes看如何设计超大规模资源调度系统
- kubernetes学习4--资源配额管理(租户配额)
- DataWorks中如何将调度资源共享
- 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解
- 使用Quartz2.1.6+Spring3.0实现任务调度简单示例
- 【keynote专场】容器资源管理和调度实践-2017CCTC大会-专题视频课程
- [干货来袭]DevExpress ASP.NET示例资源最全分享!(二)
- Spark Executor Driver资源调度小结
- 集群资源调度系统简介与galaxy资源调度系统简介
- kubernetes之计算机资源管理
- Spark资源调度机制流程
- 直播 | Kubernetes调度
- Yarn的原理与资源调度
- yarn资源调度原理
- Yarn新的资源调度策略-label based scheduling
- LTE-TDD资源调度(3)-测量GAP