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 落在您的设备所在的位置。
✌️
当我 运行 我的 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 落在您的设备所在的位置。
✌️