1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/nodes-pods-plugins-install.adoc
2023-10-30 10:13:25 -04:00

83 lines
2.1 KiB
Plaintext

// Module included in the following assemblies:
//
// * nodes/nodes-pods-plugins.adoc
// * post_installation_configuration/node-tasks.adoc
:_mod-docs-content-type: PROCEDURE
[id="nodes-pods-plugins-install_{context}"]
= Enabling Device Manager
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 `MachineConfigPool` CRD for the type of node you want to configure by entering the following command.
Perform one of the following steps:
.. View the machine config:
+
[source,terminal]
----
# oc describe machineconfig <name>
----
+
For example:
+
[source,terminal]
----
# oc describe machineconfig 00-worker
----
+
.Example output
[source,terminal]
----
Name: 00-worker
Namespace:
Labels: machineconfiguration.openshift.io/role=worker <1>
----
<1> Label required for the Device Manager.
.Procedure
. Create a custom resource (CR) for your configuration change.
+
.Sample configuration for a Device Manager CR
[source,yaml]
----
apiVersion: machineconfiguration.openshift.io/v1
kind: KubeletConfig
metadata:
name: devicemgr <1>
spec:
machineConfigPoolSelector:
matchLabels:
machineconfiguration.openshift.io: devicemgr <2>
kubeletConfig:
feature-gates:
- DevicePlugins=true <3>
----
<1> Assign a name to CR.
<2> Enter the label from the Machine Config Pool.
<3> Set `DevicePlugins` to 'true`.
. Create the Device Manager:
+
[source,terminal]
----
$ oc create -f devicemgr.yaml
----
+
.Example output
[source,terminal]
----
kubeletconfig.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.