第 9 章 使用通用设备插件
MicroShift 的通用设备插件只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
MicroShift 的通用设备插件(GDP)可让容器化应用程序安全地访问物理主机设备,如串行端口、视频相机或直接从 Kubernetes pod 中的声音卡。通过使用 GDP,您可以扩展 MicroShift 的功能,以支持需要直接硬件交互的应用程序,如物联网(IoT)应用程序。
9.1. 了解通用设备插件 复制链接链接已复制到粘贴板!
Generic Device Plugin (GDP)是一个 Kubernetes 设备插件,它允许在 pod 中运行的应用程序安全地访问主机设备,如串行端口、相机和声音卡。此功能对于直接硬件交互是常见要求的边缘和 IoT 环境尤为重要。GDP 与 kubelet 集成,以向节点公告可用的设备,并方便其分配给 pod,而无需在容器本身内升级特权。
GDP 旨在处理由操作系统初始化和管理的设备,不需要任何特殊的初始化过程或驱动程序以供 pod 使用。
以下是适合 GDP 的通用设备示例:
-
串行端口,例如:
/dev/ttyUSB*、/dev/ttyACM*。 -
视频相机,例如
/dev/video0。 -
声音设备,例如
/dev/snd、/dev/snd/controlC0。 - 由供应商 ID 和产品 ID 指定的 USB 设备,或者按设备序列号(可选)指定的 USB 设备。
以下专用设备不适用于 GDP:
- 需要除标准操作系统管理之外的特定初始化步骤的设备。
- 需要额外驱动程序或内核模块的专用硬件。此特殊硬件的示例包括 GPU 和 FPGA。这些设备类型通常需要自己的专用设备插件。