Enable Device Manager
Enable Device Manager to allow device plugins to advertise specialized node hardware resources and make them available to pods without requiring code changes.
Enable Device Manager to implement a device plugin to advertise specialized hardware without any upstream code changes.
Device Manager provides a mechanism for advertising specialized node hardware resources with the help of plugins known as device plugins.
-
Obtain the label associated with the static
MachineConfigPoolCRD for the type of node you want to configure by entering the following command. Perform one of the following steps:-
View the machine config:
# oc describe machineconfig <name>For example:
# oc describe machineconfig 00-workerExample outputName: 00-worker Namespace: Labels: machineconfiguration.openshift.io/role=workermachineconfiguration.openshift.iois the label required for the Device Manager.
-
-
Create a custom resource (CR) for your configuration change.
Sample configuration for a Device Manager CRapiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: devicemgr spec: machineConfigPoolSelector: matchLabels: machineconfiguration.openshift.io: devicemgr kubeletConfig: feature-gates: - DevicePlugins=truewhere:
metadata.name-
Specifies a name to assign to the CR.
spec.machineConfigPoolSelector.matchLabels-
Specifies the label from the Machine Config Pool.
spec.kubeletConfig.feature-gates-
Specifies the
DevicePluginsfeature gate. Set totrue.
-
Create the Device Manager:
$ oc create -f devicemgr.yamlExample outputkubeletconfig.machineconfiguration.openshift.io/devicemgr created -
Ensure that Device Manager was actually enabled by confirming that /var/lib/kubelet/device-plugins/kubelet.sock is created on the node. This is the UNIX domain socket on which the Device Manager gRPC server listens for new plugin registrations. This sock file is created when the Kubelet is started only if Device Manager is enabled.