bind/map 一个设备怎么给Rancher?

How do bind/map a device to Rancher?

当我 运行 我的 SBC 上的命令时:

docker run --volume $(pwd):/home/octoprint --device /dev/ttyUSB0:/dev/ttyACM0 -p 5000:5000 --name octoprint octoprint/octoprint:1.4.0-python3

一切正常;我可以打开 octoprint 屏幕,我的 3D 打印机被识别没有任何问题。

但是,当我尝试 运行 尽可能将等效 --device /dev/ttyUSB0:/dev/ttyACM0 映射为任何类型的卷时,我无法进行等效配置。

请问,如何让 Rancher 识别 --device

假设您正在谈论 Kubernetes Rancher。您的 Pod 或 Container 的 common way is to use privileged in the SecurityContext

例如:

  containers:
  - name: sbc
    securityContext:
      privileged: true
    volumeMounts:
    - mountPath: /dev/ttyUSB0
      name: ttyacm
  volumes:
  - name: ttyacm
    hostPath:
      path: /dev/ttyACM0

支持主机设备的更高级方法是 Device Plugins. But I believe of standard USB the above should work. You might also want to use NodeAffinity 以确保您的 Pod 落在您的设备所在的位置。

✌️