Client Passthrough¶
KubeVirt included support for redirecting devices from the client's machine to the VMI with the support of virtctl command.
USB Redirection¶
Support for redirection of client's USB device was introduced in release v0.44. This feature is not
enabled by default. To enable it, add an empty clientPassthrough
under devices, as such:
This configuration currently adds 4 USB slots to the VMI that can only be used with virtctl.
There are two ways of redirecting the same USB devices: Either using its device's vendor and product
information or the actual bus and device address information. In Linux, you can gather this info
with lsusb
, a redacted example below:
> lsusb
Bus 002 Device 008: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Bus 001 Device 003: ID 13d3:5406 IMC Networks Integrated Camera
Bus 001 Device 010: ID 0781:55ae SanDisk Corp. Extreme 55AE
Using Vendor and Product¶
Redirecting the Kingston storage device.
Using Bus and Device address¶
Redirecting the integrated camera
Requirements for virtctl usbredir
¶
The virtctl
command uses an application called usbredirect
to handle client's USB device by
unplugging the device from the Client OS and channeling the communication between the device and the
VMI.
usbredirect¶
The usbredirect
binary comes from the usbredir project and is supported by most Linux distros.
You can either fetch the latest release or MSI installer for Windows support.
Permissions¶
Managing USB devices requires privileged access in most Operation Systems. The user running
virtctl usbredir
would need to be privileged or run it in a privileged manner (e.g: with sudo
)
Windows support¶
- Redirecting USB devices on Windows requires the installation of UsbDk.
- Be sure to have
usbredirect
included in the PATH Enviroment Variable.