9.3. 配置通用设备插件
MicroShift 的通用设备插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅以下链接:
在 MicroShift 中默认禁用通用设备插件(GDP)。要使用 GDP,您必须启用它并指定 Kubernetes 应用程序可访问的主机设备。要启用 GDP,您必须修改 MicroShift config.yaml 文件或创建配置片断文件。例如: /etc/microshift/config.d/10-gdp.yaml。
先决条件
- 已安装 MicroShift。
-
您在
/etc/microshift目录中创建了自定义config.yaml文件。 -
已安装 OpenShift CLI(
oc)。 -
在 MicroShift 主机上具有
sudo权限。 -
您已找出要向 MicroShift 节点公开的特定主机设备。例如:
/dev/video0,/dev/ttyUSB*, 或 USB Vendor/Product ID。
流程
-
在 CLI 中使用
sudo权限,在文本编辑器中打开/etc/microshift/config.yaml。 -
找到
genericDevicePlugin部分。如果不存在,请添加它。 将
status参数设置为Enabled,并定义应公开的设备。每个设备定义都需要一个名称和一个或多个组。每个组都可以使用路径(包括文件型设备)指定设备,包括 glob 模式或usbs,用于使用 Vendor/Product ID 的 USB 设备。您不能在同一设备组中混合路径和usbs。带有默认值的 GDP 字段
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要-
microshift show-config参数的输出可能包含串行设备的预配置默认路径,即使您没有在config.yaml中明确配置了它们。如果在没有特定用户配置的情况下启用了通用设备插件,则这些路径代表默认的发现设置。 -
为了实现一致性和精确的设备目标,特别是在处理多个类似设备时,请考虑使用
/dev/serial/by-id/或特定 USB 供应商、产品或 Serial ID 而非/dev/ttyUSB*等广泛 glob 模式。 -
设备组中的
count参数允许单个设备或由 glob 匹配的一组设备,以便同时分配给不同的 pod。如果省略,则默认为1。
-
-
保存
config.yaml文件。 重启 MicroShift 服务以应用更改:
sudo systemctl restart microshift
$ sudo systemctl restart microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 花一些时间让 MicroShift 重启,并使 GDP 使用 Kubelet 注册其设备。
验证
您可以运行以下命令来检查节点中的可用设备:
oc describe node <microshift_node_name> | grep "device.microshift.io"
$ oc describe node <microshift_node_name> | grep "device.microshift.io"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <microshift_node_name > 替换为您的节点名称。
根据您的配置,预期输出表示设备现在可以在 MicroShift 节点中发现并可以调度。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow