Skip to content

Commit b09b8c5

Browse files
committed
TELCODOCS-993 - KMM installation
1 parent 88070c0 commit b09b8c5

File tree

5 files changed

+281
-1
lines changed

5 files changed

+281
-1
lines changed

hardware_enablement/kmm-kernel-module-management.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ Learn about the Kernel Module Management (KMM) Operator and how you can use it t
1212
:FeatureName: Kernel Module Management Operator
1313

1414
include::modules/kmm-about-kmm.adoc[leveloffset=+1]
15-
15+
include::modules/kmm-installation.adoc[leveloffset=+1]
16+
include::modules/kmm-installing-using-web-console.adoc[leveloffset=+2]
17+
include::modules/kmm-installing-using-cli.adoc[leveloffset=+2]
18+
include::modules/kmm-installing-older-versions.adoc[leveloffset=+2]

modules/kmm-installation.adoc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hardware_enablement/kmm-kernel-module-management.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="kmm-install_{context}"]
7+
= Installing the Kernel Module Management Operator
8+
9+
As a cluster administrator, you can install the Kernel Module Management (KMM) Operator by using the OpenShift CLI or the web console.
10+
11+
The KMM Operator is supported on {product-title} 4.12 and later.
12+
Installing KMM on version 4.11 does not require specific additional steps.
13+
For details on installing KMM on version 4.10 and earlier, see the section "Installing the Kernel Module Management Operator on earlier versions of {product-title}".
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hardware_enablement/kmm-kernel-module-management.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="kmm-install-older-version_{context}"]
7+
= Installing the Kernel Module Management Operator on earlier versions of {product-title}
8+
9+
The KMM Operator is supported on {product-title} 4.12 and later.
10+
For version 4.10 and earlier, you must create a new `SecurityContextConstraint` object and bind it to the Operator's `ServiceAccount`.
11+
As a cluster administrator, you can install the Kernel Module Management (KMM) Operator by using the OpenShift CLI.
12+
13+
.Prerequisites
14+
15+
* You have a running {product-title} cluster.
16+
* You installed the OpenShift CLI (`oc`).
17+
* You are logged into the OpenShift CLI as a user with `cluster-admin` privileges.
18+
19+
.Procedure
20+
21+
. Install KMM in the `openshift-kmm` namespace:
22+
23+
.. Create the following `Namespace` CR and save the YAML file, for example, `kmm-namespace.yaml` file:
24+
+
25+
[source,yaml]
26+
----
27+
apiVersion: v1
28+
kind: Namespace
29+
metadata:
30+
name: openshift-kmm
31+
----
32+
33+
.. Create the following `SecurityContextConstraint` object and save the YAML file, for example, `kmm-security-constraint.yaml`:
34+
+
35+
[source,yaml]
36+
----
37+
allowHostDirVolumePlugin: false
38+
allowHostIPC: false
39+
allowHostNetwork: false
40+
allowHostPID: false
41+
allowHostPorts: false
42+
allowPrivilegeEscalation: false
43+
allowPrivilegedContainer: false
44+
allowedCapabilities:
45+
- NET_BIND_SERVICE
46+
apiVersion: security.openshift.io/v1
47+
defaultAddCapabilities: null
48+
fsGroup:
49+
type: MustRunAs
50+
groups: []
51+
kind: SecurityContextConstraints
52+
metadata:
53+
name: restricted-v2
54+
priority: null
55+
readOnlyRootFilesystem: false
56+
requiredDropCapabilities:
57+
- ALL
58+
runAsUser:
59+
type: MustRunAsRange
60+
seLinuxContext:
61+
type: MustRunAs
62+
seccompProfiles:
63+
- runtime/default
64+
supplementalGroups:
65+
type: RunAsAny
66+
users: []
67+
volumes:
68+
- configMap
69+
- downwardAPI
70+
- emptyDir
71+
- persistentVolumeClaim
72+
- projected
73+
- secret
74+
----
75+
76+
.. Bind the `SecurityContextConstraint` object to the Operator's `ServiceAccount` by running the following commands:
77+
+
78+
[source,terminal]
79+
----
80+
$ oc apply -f kmm-security-constraint.yaml
81+
----
82+
+
83+
[source,terminal]
84+
----
85+
$ oc adm policy add-scc-to-user kmm-security-constraint -z kmm-operator-controller-manager -n openshift-kmm
86+
----
87+
88+
.. Create the following `OperatorGroup` CR and save the YAML file, for example, `kmm-op-group.yaml`:
89+
+
90+
[source,yaml]
91+
----
92+
apiVersion: operators.coreos.com/v1
93+
kind: OperatorGroup
94+
metadata:
95+
name: kernel-module-management
96+
namespace: openshift-kmm
97+
----
98+
99+
.. Create the following `Subscription` CR and save the YAML file, for example, `kmm-sub.yaml`:
100+
+
101+
[source,yaml]
102+
----
103+
apiVersion: operators.coreos.com/v1alpha1
104+
kind: Subscription
105+
metadata:
106+
name: kernel-module-management
107+
namespace: openshift-kmm
108+
spec:
109+
channel: release-1.0
110+
installPlanApproval: Automatic
111+
name: kernel-module-management
112+
source: redhat-operators
113+
sourceNamespace: openshift-marketplace
114+
startingCSV: kernel-module-management.v1.0.0
115+
----
116+
117+
.. Create the subscription object by running the following command:
118+
+
119+
[source,terminal]
120+
----
121+
$ oc create -f kmm-sub.yaml
122+
----
123+
124+
.Verification
125+
126+
* To verify that the Operator deployment is successful, run the following command:
127+
+
128+
[source,terminal]
129+
----
130+
$ oc get -n openshift-kmm deployments.apps kmm-operator-controller-manager
131+
----
132+
+
133+
.Example output
134+
[source,terminal]
135+
----
136+
NAME READY UP-TO-DATE AVAILABLE AGE
137+
kmm-operator-controller-manager 1/1 1 1 97s
138+
----
139+
+
140+
The Operator is available.

modules/kmm-installing-using-cli.adoc

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hardware_enablement/kmm-kernel-module-management.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="kmm-install-using-cli_{context}"]
7+
= Installing the Kernel Module Management Operator by using the CLI
8+
9+
As a cluster administrator, you can install the Kernel Module Management (KMM) Operator by using the OpenShift CLI.
10+
11+
.Prerequisites
12+
13+
* You have a running {product-title} cluster.
14+
* You installed the OpenShift CLI (`oc`).
15+
* You are logged into the OpenShift CLI as a user with `cluster-admin` privileges.
16+
17+
.Procedure
18+
19+
. Install KMM in the `openshift-kmm` namespace:
20+
21+
.. Create the following `Namespace` CR and save the YAML file, for example, `kmm-namespace.yaml`:
22+
+
23+
[source,yaml]
24+
----
25+
apiVersion: v1
26+
kind: Namespace
27+
metadata:
28+
name: openshift-kmm
29+
----
30+
31+
.. Create the following `OperatorGroup` CR and save the YAML file, for example, `kmm-op-group.yaml`:
32+
+
33+
[source,yaml]
34+
----
35+
apiVersion: operators.coreos.com/v1
36+
kind: OperatorGroup
37+
metadata:
38+
name: kernel-module-management
39+
namespace: openshift-kmm
40+
----
41+
42+
.. Create the following `Subscription` CR and save the YAML file, for example, `kmm-sub.yaml`:
43+
+
44+
[source,yaml]
45+
----
46+
apiVersion: operators.coreos.com/v1alpha1
47+
kind: Subscription
48+
metadata:
49+
name: kernel-module-management
50+
namespace: openshift-kmm
51+
spec:
52+
channel: release-1.0
53+
installPlanApproval: Automatic
54+
name: kernel-module-management
55+
source: redhat-operators
56+
sourceNamespace: openshift-marketplace
57+
startingCSV: kernel-module-management.v1.0.0
58+
----
59+
60+
.. Create the subscription object by running the following command:
61+
+
62+
[source,terminal]
63+
----
64+
$ oc create -f kmm-sub.yaml
65+
----
66+
67+
.Verification
68+
69+
* To verify that the Operator deployment is successful, run the following command:
70+
+
71+
[source,terminal]
72+
----
73+
$ oc get -n openshift-kmm deployments.apps kmm-operator-controller-manager
74+
----
75+
+
76+
.Example output
77+
[source,terminal]
78+
----
79+
NAME READY UP-TO-DATE AVAILABLE AGE
80+
kmm-operator-controller-manager 1/1 1 1 97s
81+
----
82+
+
83+
The Operator is available.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hardware_enablement/kmm-kernel-module-management.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="kmm-install-using-web-console_{context}"]
7+
= Installing the Kernel Module Management Operator using the web console
8+
9+
As a cluster administrator, you can install the Kernel Module Management (KMM) Operator using the {product-title} web console.
10+
11+
.Procedure
12+
13+
. Log in to the {product-title} web console.
14+
. Install the Kernel Module Management Operator:
15+
.. In the {product-title} web console, click *Operators* -> *OperatorHub*.
16+
17+
.. Select *Kernel Module Management Operator* from the list of available Operators, and then click *Install*.
18+
19+
.. On the *Install Operator* page, select the *Installation mode* as *A specific namespace on the cluster*.
20+
21+
.. From the *Installed Namespace* list, select the `openshift-kmm` namespace.
22+
23+
.. Click *Install*.
24+
25+
.Verification
26+
27+
To verify that KMM Operator installed successfully:
28+
29+
. Navigate to the *Operators* -> *Installed Operators* page.
30+
. Ensure that *Kernel Module Management Operator* is listed in the *openshift-kmm* project with a *Status* of *InstallSucceeded*.
31+
+
32+
[NOTE]
33+
====
34+
During installation, an Operator might display a *Failed* status. If the installation later succeeds with an *InstallSucceeded* message, you can ignore the *Failed* message.
35+
====
36+
37+
.Troubleshooting
38+
. To troubleshoot issues with Operator installation:
39+
+
40+
.. Navigate to the *Operators* -> *Installed Operators* page and inspect the *Operator Subscriptions* and *Install Plans* tabs for any failure or errors under *Status*.
41+
.. Navigate to the *Workloads* -> *Pods* page and check the logs for pods in the `openshift-operators` project.

0 commit comments

Comments
 (0)