我有一个码头容器,用来将我的摄像头的流量转换成rtsp (对接图像:ullaakut/rtspatt
)。当我使用--device /dev/video0:/dev/video0
时,它工作得很好。
但是我没有发现任何东西可以帮助我用库伯内特斯来做同样的事情。我只想从集装箱里找到摄像头.有人能帮我吗?
发布于 2019-12-11 18:20:32
目前没有任何配置选项可以在Kubernetes中使用--device
。
有关更多细节,请参见这些讨论:https://github.com/kubernetes/kubernetes/issues/5607 https://github.com/kubernetes/kubernetes/issues/60748
但是,如果启用了pod的特权模式,则可能可以使用主机设备。
https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privileged
允许容器与在主机上运行的进程几乎完全相同的访问权限。这对于希望使用linux功能的容器非常有用,比如操作网络堆栈和访问设备。
containers:
- name: foo
volumeMounts:
- mountPath: /dev/video0
name: dev-video0
securityContext:
privileged: true
volumes:
- name: dev-video0
hostPath:
path: /dev/video0
但不确定您是否真的需要volumeMounts
和volumes
。试试看,如果没有他们,它是否有效。
从安全性的角度来看,使用privileged: true
的并不理想。
您还应该在pod上设置nodeName
属性,因此它总是在一个特定的节点上运行(此节点将带有摄像机)。
另一种解决方案可能是使用插件:https://github.com/bluebeach/k8s-hostdev-plugin。
https://stackoverflow.com/questions/59290752
复制相似问题