首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有可能强制k8s worker只使用特定的图形处理器?

有没有可能强制k8s worker只使用特定的图形处理器?
EN

Stack Overflow用户
提问于 2021-06-06 17:45:45
回答 2查看 59关注 0票数 0

我有一个预置的k8s GPU集群,它有几个计算节点,分别拥有8个GPU。因为我们正在迁移到k8s的路上,而且还有一些剩余的项目需要使用GPU,所以我不得不保留一些k8s不允许使用的GPU。此外,一些项目需要使用连续的GPU(我的意思是,使用物理上相邻的PCIE总线),因此有必要特定于这些GPU。

所以问题是,有没有可能强制k8s worker只使用特定的图形处理器?例如,我想配置我的k8s worker来分配从0到4的GPU,而不能分配从4到7的GPU。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2021-06-06 19:09:05

如果您希望您的作业从不使用任何gpu节点,则可以使用noschedule污点来污染此节点,例如:

代码语言:javascript
运行
复制
kubectl taint nodes aks-gpuv100small.. no=k8s:NoSchedule  

如果希望作业仅在特定的gpu节点上运行,则可以向此节点添加标注,并向作业添加nodeSelectors

代码语言:javascript
运行
复制
 kubectl label nodes aks-gpuv100small.. k8s=gpu
 nodeSelector:
   k8s: gpu

如果希望gpu节点内部仅向作业公开某些设备,则可以将以下环境变量添加到作业中

代码语言:javascript
运行
复制
CUDA_VISIBLE_DEVICES=0,1,2,3
票数 1
EN

Stack Overflow用户

发布于 2021-06-06 18:23:44

这将取决于你的设备插件的具体情况,如果你指的是Nvidia插件,我不这么认为,至少没有一些自定义的工作。https://github.com/NVIDIA/go-gpuallocator库确实支持模块化分配策略,但我不认为这是作为设备插件中的一个选项专门公开的。它在配置方面实际上并没有太多的东西。但是你可以用叉子把它叉起来然后进城。

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

https://stackoverflow.com/questions/67857773

复制
相关文章

相似问题

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