// Module included in the following assemblies:
//
// * hardware_enablement/kmm-kernel-module-management.adoc

:_mod-docs-content-type: PROCEDURE
[id="kmm-install-using-cli_{context}"]
= Installing the Kernel Module Management Operator by using the CLI

[role="_abstract"]
To install the Kernel Module Management (KMM) Operator on {product-title}, you can create `Namespace`, `OperatorGroup`, and `Subscription` resources by using the OpenShift CLI (`oc`).

.Prerequisites

* You have a running {product-title} cluster.
* You installed the OpenShift CLI (`oc`).
* You are logged into the OpenShift CLI as a user with `cluster-admin` privileges.

.Procedure

. Install KMM in the `openshift-kmm` namespace:

.. Create the following `Namespace` CR and save the YAML  file, for example, `kmm-namespace.yaml`:
+
[source,yaml]
----
apiVersion: v1
kind: Namespace
metadata:
  name: openshift-kmm
----

.. Create the following `OperatorGroup` CR and save the YAML file, for example, `kmm-op-group.yaml`:
+
[source,yaml]
----
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
  name: kernel-module-management
  namespace: openshift-kmm
----

.. Create the following `Subscription` CR and save the YAML file, for example, `kmm-sub.yaml`:
+
[source,yaml]
----
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: kernel-module-management
  namespace: openshift-kmm
spec:
  channel: stable
  installPlanApproval: Automatic
  name: kernel-module-management
  source: redhat-operators
  sourceNamespace: openshift-marketplace
----

.. Create the subscription object by running the following command:
+
[source,terminal]
----
$ oc create -f kmm-sub.yaml
----

.Verification

* To verify that the Operator deployment is successful, run the following command:
+
[source,terminal]
----
$ oc get -n openshift-kmm deployments.apps kmm-operator-controller
----
+
Example output:
+
[source,terminal]
----
NAME                              READY UP-TO-DATE  AVAILABLE AGE
kmm-operator-controller           1/1   1           1         97s
----
+
The Operator is available.
