-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
resourceAllocatable 和 resourceCapacity 中的 cpu, memory的数值始终是相等的 #609
Comments
我看文档中的示例,也是这个效果,请问这个是什么机制呢? |
另外,还有个疑问: |
此外,还有个疑问: |
Hi,在 K8s 的语义中,因为节点的资源量的恒定的,所以 Node 的 Capacity 和 Allocatable 都是不变的。类比到 KCNR 中,Reclaimed 资源的 Allocatable 和 Capacity 是根据 shared_cores 的负载计算的,所以是会变化的。在混部场景下,因为 Reclaimed Resources 的 Capacity 没有特殊的含义,所以是和 Allocatable 相等的。 |
如官网文档所述:
|
当创建了一个 shared_cores 的 Pod 后,会减掉 4 + 2 = 6 core。4 是 reserve,2 是 shared_cores 的负载 (1 向上取偶数,即上述公式中的 round + ceil,避免在离线容器共享一个物理核的两个 HT,对在线业务造成干扰)。 |
感谢您的回复。请问为什么是预留 4core呢? 4core 这个数值可以配置吗? |
请问节点上已有进程占用的这部分cpu 是不会纳入计算的吗?比如节点48core,我直接在节点运行了一个stress, 占用了 10core, 但是 Reclaimed资源还是 48core |
4 core 是根据我们内部实践的一个经验数值,可以根据情况调整,通过 |
根据 shared_cores pool 的负载来计算,非容器直接起的进程不会纳入计算哈。 |
@caohe 非常感谢您的耐心解答。我还有一个疑问,我对一个 shared_cores pod(stress) 持续施压,发现最后Reclaimed资源一直稳定在 4core,不会再继续降低,请问这又是什么机制呢? |
@caohe 您好,对于这个 reclaim资源量的计算还有个疑问,请问公式中的 usage 是统计了哪种类型的 pod ?
所以看着像是BestEffort类型的 pod 不会影响 reclaim 资源量计算? |
@flpanbin 我理解这里其实在另一个 issue 里提到了 #594 (comment) ? |
@flpanbin 在线业务包括 dedicated_cores 和 shared_cores pods。从 qos 语义上讲,dedicated_cores 是独占 cpu core 的,即使他申请了资源不用,其他 pod 也用不了;shared_cores 是可以被调整 cpuset pool 大小的。 所以其实 reclaimed 资源在算的时候要先扣除掉 dedicated cores 的 request 量,再减去根据 usage 等信息通过算法预估出给 shared_cores 预留的量,再扣除掉 reserve,最后就是可以出让的 reclaim 资源。 |
@pendoragon |
@pendoragon 了解了,感谢!还想再请教下:
|
Hi, |
|
What happened?
在创建应用前,查看节点的 kcnr,resourceAllocatable 和 resourceCapacity 中的 cpu和memory 相等,部署应用后,resourceAllocatable 和 resourceCapacity中的数值都减少了,但是Allocatable和 Capacity 还是相等。个人理解 Capacity 应该是保持不变的,减少的应该是 Allocatable?
创建应用前, 节点的 kcnr 信息:
创建 share应用后, 节点的 kcnr 信息:
shared-normal-pod.yaml
What did you expect to happen?
resourceAllocatable 资源减少,resourceCapacity资源保持不变
How can we reproduce it (as minimally and precisely as possible)?
创建一个 shared_cores pod,观察节点 kcnr 的数值变化情况
Software version
The text was updated successfully, but these errors were encountered: