祖先约束分支连接两个独立容器控制组,各自有上限。兄弟组闲置额度不会自动转让。

cgroup 在层级中执行容器资源预算

Kubernetes 资源字段只有经过节点执行栈落实,才成为实际约束。在 Linux 上,kubelet 与容器运行时通过 cgroup 组织进程并配置资源控制器。最终形成的是一个层级,而不是简单贴在 Pod 上的单个数字。判断进程真正可以消耗多少资源之前,需要检查对应容器控制组及继承的约束,避免把清单意图直接等同于有效运行预算。 有效预算沿 cgroup 层级生效。本地上限、相对 CPU 权重和内存记账是不同控制;图中数值来自保留的历史原文,不是新实验。 读取实际执行资源约束的控制器 在 cgroup v2 中,cpu.max 用配额与周期表示 CPU 带宽,单位是微秒。10000 100000 表示该组每个周期可使用相当于十分之一个 CPU 的时间。它不会把进程固定在一个核心上,也不会降低处理器时钟频率。组内如果存在多个可运行线程,就可能在同一周期中更快消耗完共同额度,然后等待下一段可用预算。 ...

二月 11, 2028 · 3 分钟 · XB Field Notes