k8s-ResourceQuotas资源限制 pod跟命名空间(重要)


https://blog.csdn.net/weixin_43936969/article/details/106365538(重要)

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时,将无法创建资源对象。

示例:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: mem-cpu-demo
spec:
  hard:
    requests.cpu: "1"
    requests.memory: 1Gi
    limits.cpu: "2"
    limits.memory: 2Gi


作者:与诗小睡
链接:https://www.jianshu.com/p/f9d93b5c567e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关