Deploying the Device Plugin
The Kubernetes Generic Device Plugin is a DaemonSet that runs on each node in the cluster, exposing the devices to the pods. The device plugin is configured with a list of devices to expose, e.g.--device='{"name": "video", "groups": [{"paths": [{"path": "/dev/video0"}]}]}
.
In this guide, we will demonstrate how to deploy the device plugin with a configuration that exposes the /dev/net/tun
device.
This device is commonly used for user-space Wireguard, including Tailscale.
squat.ai/tun
(the tun
name comes from the name of the group in the device plugin configuration).:
Deploying a Pod with the Device
Now that the device plugin is deployed, you can deploy a pod that requests the device. The request for the device is specified as a resource in the pod spec./dev/net/tun
device:
/dev/net/tun
device available: