问题描述
我想知道是否有可能在旋转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从空闲套接字分配给工作负载。这促进了 通过避免任何交叉通信来提高工作负载的性能。
也在同一页面上:
所以现在我开始考虑也许我需要的是为cpu管理器启用静态策略以获取所需的内容。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)