您现在的位置是:首页 > 文章详情

kubernetes资源对象--ResourceQuotas

日期:2018-12-15点击:306

概念

 Resource Quotas(资源配额,简称quota)是对namespace进行资源配额,限制资源使用的一种策略。 K8S是一个多用户架构,当多用户或者团队共享一个K8S系统时,SA使用quota防止用户(基于namespace的)的资源抢占,定义好资源分配策略。

Quota应用在Namespace上,默认情况下,没有Resource Quota的,需要另外创建Quota,并且每个Namespace最多只能有一个Quota对象。

限额资源类型

计算资源:limits.cpu、requests.cpu、limits.memory、requests.memory 存储资源,包括存储资源的总量以及指定storage class的总量 requests.storage:存储资源总量,如500Gi persistentvolumeclaims:pvc的个数 .storageclass.storage.k8s.io/requests.storage .storageclass.storage.k8s.io/persistentvolumeclaims 对象数,即可创建的对象的个数 pods,replicationcontrollers,configmaps,secrets,persistentvolumeclaims,services,services.loadbalancers,services.nodeports 

使用注意实现

在使用前需确认apiserver的配置文件中的KUBE_ADMISSION_CONTROL是否有ResourceQuota,如果没有需要添加并重启apiserver。 Quota依赖于资源管理器,可以使用资源对象limits或者在创建资源对象是为pod设置资源限制(resources),如果不设置,资源对象无法创建。 当该namespace中的任意个额度达到预设Quota时,将无法创建资源对象。 

例子

比如K8S系统共有20核CPU和32GB内存,分配给lykops用户5核CPU和16GB,分配给lykchat租户5核CPU 和8GB,预留10核CPU和8GB内存。这样,用户中所使用的CPU和内存的总和不能超过指定的资源配额,促使其更合理地使用资源。

kubectl delete -f resourcequota.yaml cat << EOF > resourcequota.yaml apiVersion: v1 kind: ResourceQuota metadata: namespace: lykops name: lykops labels: project: lykops app: resourcequota version: v1 spec: hard: pods: 50 requests.cpu: 0.5 requests.memory: 512Mi limits.cpu: 5 limits.memory: 16Gi configmaps: 20 persistentvolumeclaims: 20 replicationcontrollers: 20 secrets: 20 services: 50 EOF kubectl create -f resourcequota.yaml
本文转自开源中国- kubernetes资源对象--ResourceQuotas
原文链接:https://yq.aliyun.com/articles/679777
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章