首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只在特定cpu上运行的Pin Kubernetes吊舱/部署/副本集/守护进程集

只在特定cpu上运行的Pin Kubernetes吊舱/部署/副本集/守护进程集
EN

Stack Overflow用户
提问于 2022-02-14 20:15:37
回答 1查看 230关注 0票数 0

我需要限制一个应用程序/部署只在特定的cpus上运行(比如0-3或仅1或2等等)。我发现了CPU管理器,并尝试用static策略实现它,但无法实现我想要实现的目标。

到目前为止,我尝试了以下几种方法:

  1. 在kubelet上启用cpu管理器static策略并验证其已启用
  2. 在kubelet中使用--reserved-cpus=0-3选项保留cpu
  3. 运行一个具有等于请求和整数值cpu的限制的示例nginx部署,即有保证的QoS,并且能够用taskset -c -p $(pidof nginx)验证cpu的亲和力。

因此,这使得我的nginx应用程序被限制在除保留cpus (0-3)之外的所有cpus上运行,也就是说,如果我的机器有32个cpus,应用程序可以在4-31个cpus中的任何一个上运行。任何其他将运行的应用程序/部署也是如此。据我所知,保留的cpus 0-3将保留给系统守护进程、OS守护进程等。

我的问题-

  1. 使用Kubernetes CPU Manager特性,是否可以将某些cpu绑定到应用程序/pod(在本例中是我的nginx应用程序)上,以便只在特定的cpu上运行(例如2或3或4-5)?如果是,怎么做?
  2. 如果第1点是可能的,我们是否也可以在容器级别执行钉扎,例如Pod A有两个容器B和容器D。是否可以将cpu 0-3和cpu 4钉到容器B?
  3. 如果使用Kubernetes CPU管理器是不可能的,那么此时可用的替代方案有哪些呢?
EN

回答 1

Stack Overflow用户

发布于 2022-02-24 05:57:21

正如我理解您的问题一样,您希望为每个应用程序/pod设置您专用的CPU数量。就像我搜索过的。

我只能找到一些可能有帮助的文档。另一个是一个Github主题,我认为这是一个解决办法来解决您的问题。

这是一个免责声明,根据我阅读、搜索和理解的内容,这个问题没有直接的解决方案,只有解决办法。我还在寻找这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71117779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档