gpt4 book ai didi

docker - kubernetes调度昂贵的资源

转载 作者:行者123 更新时间:2023-12-02 12:05:26 25 4
gpt4 key购买 nike

我们有一个Kubernetes集群。

现在我们要使用GPU节点来扩展它(因此,这将是Kubernetes集群中唯一具有GPU的节点)。

我们希望避免Kubernetes在这些节点上调度Pod,除非它们需要GPU。

并非我们所有的管道都可以使用GPU。绝对多数仍然只占用大量CPU。

具有GPU的服务器可能非常昂贵(例如,Nvidia DGX可能高达每台服务器$ 150 / k)。

如果我们仅将DGX节点添加到Kubernetes集群中,那么Kubernetes也会在那里安排非GPU工作负载,这会浪费资源(例如,其他稍后安排的作业确实需要GPU,那里可能还有其他非GPU资源像CPU和内存一样耗尽内存,因此他们将不得不等待非GPU作业/容器完成)。

有没有一种方法可以在Kubernetes中自定义GPU资源调度,以便仅在需要GPU的昂贵节点上调度Pod?如果没有,他们可能不得不等待其他非GPU资源的可用性,例如非GPU服务器上的CPU和内存...

谢谢。

最佳答案

为节点使用标签和标签选择器是正确的。但是您需要在pod上使用 NodeAffinity

像这样:

apiVersion: v1
kind: Pod
metadata:
name: run-with-gpu
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/node-type
operator: In
values:
- gpu
containers:
- name: your-gpu-workload
image: mygpuimage

另外,将标签粘贴到您的GPU节点上:
$ kubectl label nodes <node-name> kubernetes.io/node-type=gpu

关于docker - kubernetes调度昂贵的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com