有没有办法在将内核分配给Kubernetes中的Pod时强制使用相同的物理CPU?

问题描述

我想知道是否有可能在旋转POD时强制Kubernetes从同一cpu分配内核。我希望Kubernetes能够做的是,随着新POD的创建,只要仍然有可用的内核,分配给它们的内核应该来自-let's-cpu1。新启动的Pod中不应使用cpu2,cpu3等内核。我希望我的POD尽可能从单个cpu分配内核。

有没有办法做到这一点?

还有,有没有办法查看POD的内核(cpu)来自哪个物理cpu

非常感谢。

编辑:让我解释一下为什么要这样做。

我们正在Kubernetes上运行一个Spark集群。系统/ Linux管理团队的负责人警告我们注意NUMA的概念。他告诉我们,如果我们要从同一物理cpu分配内核,则可以提高执行程序容器的性能。这就是为什么我开始对此进行深入研究的原因。

我找到了这个Kubernetes CPU Manager。该文档说:

cpu Manager尽最大努力按拓扑顺序分配cpu 基础。如果整个插槽可用,则cpu Manager将排他地 将cpu从空闲套接字分配给工作负载。这促进了 通过避免任何交叉通信来提高工作负载性能

enter image description here

也在同一页面上:

从同一物理机分配所有逻辑cpu(超线程) cpu核心(如果有),并且容器请求整个核心价值 cpu

enter image description here

所以现在我开始考虑也许我需要的是cpu管理器启用静态策略获取所需的内容

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)