默认情况下,Docker容器未特权。当然,可以使用docker run --device /dev/abc0
单独添加设备,但这尚不能在Kubernetes中完成。
无论如何,我每个节点有任意数量的设备,这使得映射/dev
和启用cgroup规则:docker run -v /dev:/dev --device-cgroup-rule='c 123:* rmw'
更加容易。如何将此--device-cgroup-rule
传递给Kubernetes控制的特定或所有Docker容器? RuntimeClass可以帮助吗?系统级的cgroup配置?
答案 0 :(得分:0)
如果我对您的理解正确,那么您应该专注于Kublet,它支持多个容器运行时,并且与Docker集成。
根据此documentation,有很多选项可供选择,例如:
--cgroup-driver string
kubelet用于操纵主机上cgroup的驱动程序。
--cgroup-root string
用于Pod的可选根cgroup。由容器处理 尽力而为。默认值:“”,表示使用 容器运行时默认。
--enforce-node-allocatable stringSlice
以逗号分隔的节点可分配执行级别的列表 由kubelet强制执行。可接受的选项是“吊舱”,“系统保留” &“保留”。如果指定了后两个选项, 还必须设置'
--system-reserved-cgroup
'和'--kube-reserved-cgroup
' 分别。看到/docs/tasks/administer-cluster/reserve-compute-resources/
了解更多 细节。 (默认[pods])
--runtime-cgroups string
在其中创建和运行运行时的cgroup的可选绝对名称。
请仔细检查并确认它们是否满足您的需求。
请告诉我是否有帮助。