首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

CPU Quota

词条归属:容器服务

CPU Quota 是用来限制容器的资源使用上限,即使一个节点资源还有剩余量,但容器依旧无法使用超过 CPU Quota 的数值。

Kubernetes 的 Request/Limit 是由 CPU Share 和 CPU Quota 来实现的。但 Request 还有更多的含义:

没有 Request 的 Pod 可以调度到任意节点,因为任意节点的剩余可调度资源都满足该 Pod 要求。但是在发生竞争时,它将不会获得任何的资源,此时 Pod 可能会无限期地缺乏资源。

在终端里创建一个可以交互的 busybox Pod:

在交互栏里使用如下命令让该 Pod 可以用满当前节点上空闲的 CPU 和内存:

在另一终端里查看当前 Pod 的资源用量

可以看出,当前 busybox Pod 的 CPU 和内存的资源用量都大于 Request。但理论上因为 busybox 运行的是无限循环的程序,应该会把所有的 CPU 都消耗完才对,为什么只消耗了460m?因为此时集群中还有其他的 Pod 和进程,它们都会通过 CPU Share 彼此竞争集群中的 CPU 资源。

相关文章
Cgroup CPU Quota技术的不足
前言 cgroup作为Linux上广泛应用的一个功能,用来限制、控制与分离一个进程组群的资源。在内核Linux-4.14上,支持了如下类型(源代码参考https://github.com/torvalds/linux/blob/v4.14/include/linux/cgroup_subsys.h): SUBSYS(cpuset) SUBSYS(cpu) SUBSYS(cpuacct) SUBSYS(io) SUBSYS(memory) SUBSYS(devices) SUBSYS(freezer) SUBSYS(net_cls) SUBSYS(perf_event) SUBSYS(net_prio) SUBSYS(hugetlb) SUBSYS(pids) SUBSYS(rdma) SUBSYS(debug) 查看目前实际打开了其中的一部分: # cat /boot/config-`uname -r` | grep CONFIG_CGROUP_ CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUP_PIDS=y # CONFIG_CGROUP_RDMA is not set CONFIG_CGROUP_FREEZER=y # CONFIG_CGROUP_HUGETLB is not set CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y 尤其是其中的CPU的Quota控制,在以docker为代表的PaaS中大显身手。然而,这并不意味着cgroup的CPU Quota控制就是完美的。例如,希望一个进程占用的CPU不超过200%,那么它的真实的CPU占用是怎样的呢?接下来,作者会构造一段代码,可以算是一种极端场景,来证实这个问题确实存在。
皮振伟
2019-03-07
3.2K0
quota什么意思(binding quota)
  因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。
全栈程序员站长
2022-07-28
7720
xfs_quota
要求: 5个用户共属一组, 每个用户250/300M的容量限制, 组总容量950M/1G容量, grace time 14天
buiu
2021-11-05
3.3K0
linux中quota信息查看,quota命令_Linux quota命令使用详解:显示磁盘已使用的空间与限制…
quota命令用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制。
全栈程序员站长
2022-07-23
2.7K0
gluster quota介绍
gluster quta命令 // 开启volume的配额功能 # gluster volume quota {test-volume} enable // 设置hard limit,hard是基于容量来限制目录使用限制/可以设置大小的单位使MB/GB/TB quota #PB # gluster volume {test-volume} limit-usage /data1 10GB quota {test-volume} 限制使用 /data1 1TB // 设置软限制,软限制是指定使用或者可以使用硬限制的说明的属性。当使用了软限制设置的目录目录限制时,用户仍然可以继续写入,但是会不断地写 //如果用户的写入/data1目录设置硬限制为1T,如果数据达到1T会报错;如果没有达到1T,达到1T * 0.5,会在该处写的brick日志已经不断的日志,来通知在达到soft limit # gluster volume quota {test-volume} limit-usage /data1 1T 50% // 显示配额限制的列表 # gluster volume quota {test-volume} 列表 // 设置soft-limit的检查的间隔时间,单位是秒。默认是60s,最大是 1800s gluster volume quota {test-volume} soft-timeout 100s // 设置 hard-limit 的检查的间隔时间,单位是秒 默认是 5s,最大是 60s gluster volume quota {test-volume} hard-timeout 100s // 设置根对象为目录下的对象3个对象 glust test1 limit-quotaobjects /data3 3 // 当客户端挂载时使用 -h 查看容量,此设置开启硬性 配额设置用户在目录时的容量上# gluster volume} features.quota-deem
用户4700054
2022-08-17
1.3K0
点击加载更多
词条知识树 135个知识点
更多
  • 服务类(16个知识点)
  • 镜像仓库类(10个知识点)
  • 事件类(6个知识点)
  • 远程终端类(13个知识点)
  • TKE 标准集群(52个知识点)
  • TKE Serverless 集群(30个知识点)
  • 运维类(6个知识点)
  • 资源管理类(2个知识点)
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券