Kernel module deployment
Kernel Module Management (KMM) monitors Node and Module resources on Red Hat OpenShift Container Platform to load or unload kernel modules on eligible nodes. KMM creates worker pods on target nodes to reconcile the desired module state.
To be eligible for a module, a node must contain the following:
-
Labels that match the module’s
.spec.selectorfield. -
A kernel version matching one of the items in the module’s
.spec.moduleLoader.container.kernelMappingsfield. -
If ordered upgrade (
ordered_upgrade.md) is configured in the module, a label that matches its.spec.moduleLoader.container.versionfield.
When KMM reconciles nodes with the desired state as configured in the Module resource, it creates worker pods on the target nodes to run the necessary action. The KMM Operator monitors the outcome of the pods and records the information. The Operator uses this information to label the Node objects when the module is successfully loaded, and to run the device plugin, if configured.
Worker pods run the KMM worker binary that performs the following tasks:
-
Pulls the kmod image configured in the
Moduleresource. Kmod images are standard OCI images that contain.kofiles. -
Extracts the image in the pod’s filesystem.
-
Runs
modprobewith the specified arguments to perform the necessary action.