我有一个 docker 容器,用于将我的网络摄像头的通量转换为 rtsp(docker image: ullaakut/rtspatt)。当我使用--device /dev/video0:/dev/video0.
但是我没有发现任何东西可以帮助我使用 Kubernetes 做同样的事情。我只是想要一种从容器访问网络摄像头的方法......任何人都可以帮助我吗?
目前没有可以--device在 Kubernetes 中使用的配置选项。
有关更多详细信息,请参阅这些讨论: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
Run Code Online (Sandbox Code Playgroud)
不确定你是否真的需要volumeMountsand volumes。试着看看它是否在没有它们的情况下工作。
privileged: true从安全的角度来看,使用并不是很理想。
您还应该nodeName在 pod 上设置该属性,以便它始终在一个特定节点上运行(该节点将连接摄像头)。
另一种解决方案可能是使用插件:https : //github.com/bluebeach/k8s-hostdev-plugin。
| 归档时间: |
|
| 查看次数: |
4640 次 |
| 最近记录: |