9.2. 通用设备插件的限制和注意事项
虽然通用设备插件(GDP)为访问 MicroShift 中的主机设备提供了强大的功能,但了解其限制和当前状态非常重要。
9.2.1. 不适用于通用设备插件的设备 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
GDP 是专为直接由操作系统管理的设备而设计的,不需要特殊的设置过程。不适用于通用设备插件的设备包括:
- 需要特殊驱动程序(如 GPU (统计处理单元)或 FPGAs (可字段可编程阵列)的复杂硬件。这些类型的硬件通常需要专用设备插件,它们可以在 pod 可以使用它们之前执行唯一的初始化过程、内存管理或队列重置。
- 具有特定厂商提供的软件堆栈的设备。对于需要复杂软件堆栈或专有 API 之外的直接文件系统访问的设备可能需要一个专用的插件。
9.2.2. 设备识别和日志记录 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当您使用 glob 路径(例如 /dev/ttyUSB* )来公开多个类似的设备时,GDP 会根据可用性分配设备。但是,如果您的应用程序需要连接到精确指定的物理设备,例如:从 10 中 串行设备 3,使用广泛 glob 路径可能不足。在这种情况下,使用更稳定和唯一标识符在 config.yaml 文件中配置单独的设备条目,例如:
-
特定的设备路径,例如
/dev/video0。 -
操作系统提供的符号链接,例如
/dev/serial/by-id/或/dev/serial/by-path/。 - USB 供应商 ID、产品 ID 和序列号组合,用于精确 USB 设备目标。
9.2.3. 性能考虑 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
config.yaml 文件中的 count 参数允许同时调度一个设备组。虽然 GDP 内没有设置明确的限制(例如 /dev/fuse),但实际的性能取决于主机系统的功能和设备的性质。运行访问同一设备的大量并发进程可能会影响性能。