约束缺失设备过滤1个节点,nomad作业



我正在尝试添加GPU资源到nomad,我有以下错误

我的工作描述是

job "test" {

datacenters = ["dc1"]
group "echo" {
count = 1
task "server" {
driver = "docker"
config {
image = "hashicorp/http-echo:latest"
}
resources {
device "gpu" {
count = 1
}
}
}
}
}

和nomad我无法识别设备块,当我删除

时一切正常I am getting

Constraint missing devices filtered 1 node

游牧1.3.1

在指纹识别过程中,设备插件报告检测到的设备数量,每个设备的一般信息(供应商,类型和型号),以及设备特定属性(例如,可用内存,硬件功能)。插件返回的信息从客户端传递到服务器,并可用于调度作业,使用任务的资源节中的设备节,例如:

resources {
device "vendor/type/model" {
count = 2
constraint { ... }
affinity { ... }
}
}

device参数名称(string: ") -指定所需的设备。以下输入是有效的:

:如果给出了单个值,则假定该值为设备类型,如"gpu"或"fpga"

/:如果给出的两个值以/分隔,则将选择给定的设备类型,限制所提供的供应商。示例包括"nvidia/gpu"或"amd/gpu"。

//:如果三个值以。分隔A/时,将选择给定的设备类型,限制在提供的供应商和模型名称。示例包括"nvidia/gpu/1080ti"或"nvidia gpu/2080 ti"。

count (int: 1) -指定给定设备的实例数

constraint (constraint: nil) -限制哪些设备的约束有资格。这可以多次提供以定义附加的约束。查看下面可用的属性。

affinity (affinity: nil) -指定优先级的affinity设备被选中。这可以多次提供来定义额外的亲和力。查看下面可用的属性。

下面的示例作业只显示设备节替换自己的工作:

resources {
device "nvidia/gpu" {
count = 1
}

查看来源

这意味着您用来运行作业的驱动程序不存在/没有在机器上运行。如果你正在部署容器应用程序,应该先启动docker,然后再启动Job。

最新更新