learning/k8s-advanced/policy/rq.md
参考文档:Resource Quota
当多个用户(团队)共享一个节点数量有限的集群时,如何在多个用户(团队)之间分配集群的资源就会变得非常重要。Resource quota 的用途便在于此。
</AdSenseTitle>资源配额(Resource quota)通过 ResourceQuota 对象定义,可以限定单个名称空间中可使用的计算资源的总量。限定的方式有:
资源配额(Resource quota)的工作方式描述如下:
ResourceQuota 对象ResourceQuota 对象中定义的配额ResourceQuota 冲突,则 apiserver 会返回 HTTP 状态码 403,以及对应的错误提示信息CPU 和 内存 激活 ResourceQuota,用户在创建对象(Pod、Service等)时,必须指定 requests 和 limits。
使用 LimitRange 可以为没有定义 requests、limits 的对象强制添加默认值
下面是一些使用 ResourceQuota 的场景描述:
当集群中总的容量小于名称空间资源配额的总和时,可能会发生资源争夺。此时 Kubernetes 集群将按照先到先得的方式分配资源。
无论是资源争夺还是修改名称空间的资源配额(ResourceQuota),都不会影响到已经创建的对象。
Kubernetes集群中默认启用 ResourceQuota。如果没有,可在启动 apiserver 时为参数 --enable-admission-plugins 添加 ResourceQuota 配置项。
在名称空间中定义一个 ResourceQuota 对象,就可以激活该名称空间的资源配额检查。