K8S资源配额概念和操作详解

多用户或者多团队共享集群时,管理员可以通过资源配额的方式来管理各个团队或者用户可使用资源的额度。

ResourceQuota对象用于定义资源配额。可以限制对象数量,也可以限制计算资源。

资源配额有如下工作方式:

​ 1、不同团队在各自命名空间下工作。软性约束

​ 2、每个命名空间都可以有自己的一个或多个ResourceQuota对象,由集群管理员创建。

​ 3、在命名空间中创建资源如Pod、Service时,如果超过配额,请求会报错

​ 4、命名空间下计算资源被启用时,cpu memeory ,必须同时有请求值request和约束值limit。准入控制器LimitRanger可以为未设置计算资源需求的Pod设置默认值

1、启用资源配额

一般是默认启用。

API服务器的命令行标识 --enable-admission-plugins=中包含 ResourceQuota时,表示启用

2、资源配额分类

2.1命名空间的计算资源配额

可以对命名空间限定其可使用的计算资源总量。 均为非终止状态下Pod

资源配额名 描述
limits.cpu cpu总量
limits.memory 内存限额
requests.cpu 或者 cpu cpu需求总量
requests.memory 或者 memory 内存需求总量
hugepages- 针对指定尺寸的巨页请求总数
2.2、扩展资源的资源配额

k8s 1.10版本中增加了对扩展资源的支持

扩展资源:kubernetes.io域名之外的标准资源名称,非kubernetes内置资源。集群管理员颁布之后,用户在Pod中请求

  • 节点级扩展资源,绑定到节点

  • 集群层面的扩展资源,由调度器扩展程序管理

扩展资源不可超量分配,仅允许使用 requests.前缀的配额项。

例如GPU,此处限制总数为4

<

你可能感兴趣的:(kubernetes,kubernetes)