cgroup中的cpu有哪几种限制方式。k8s是如何使用实现request和limit的?

無名 发表于: 2021-07-27   最后更新时间: 2021-07-27 16:08:11   1,800 游览

cgroup中的cpu有哪几种限制方式。k8s是如何使用实现request和limit的?

发表于 2021-07-27

cgroup中的cpu有哪几种限制方式

常用的5种方式:

1、限制CPU的使用率
2、设置容器使用 CPU 的优先级
3、限制cpu配额
4、限制cpu可用数量
5、使用固定的cpu

k8s是如何使用实现request和limit的

request 资源请求量

含义: 容器运行时,向k8s节点申请的最少保障资源

cpu的request
cpu的request、limit会反映在容器的cgroup参数上

内存的request
内存的request不会反映在容器的cgroup参数上,但limit会

所以容器内存即使有request,但是在容器的cgroup不被采用作为限制,那么其他没有limit或limit比request大的容器,就会来抢占这里的内存,导致这里的内存不足,结果是k8s节点并未保障容器的内存request,request - current的内存被其他容器占用。

调度规则

k8s节点的request剩余总资源大于容器请求的request资源,容器才能被分配到该节点,否则不予调度
limit 资源上限
含义:容器在k8s节点上消耗的资源上限
current 当前资源使用量
表示容器当前消耗的k8s资源量,其可以小于request,也可以大于request,但必须小于limit

你的答案

查看kubernetes相关的其他问题或提一个您自己的问题