4.2. 安装内核模块管理 Operator
作为集群管理员,您可以使用 OpenShift CLI 或 Web 控制台安装内核模块管理(KMM) Operator。
OpenShift Container Platform 4.12 及更新的版本支持 KMM Operator。在版本 4.11 上安装 KMM 不需要具体附加步骤。有关在版本 4.10 及更早版本上安装 KMM 的详情,请参阅"在早期版本的 OpenShift Container Platform 上安装 Kernel Module Management Operator 部分"。
4.2.1. 使用 Web 控制台安装 Kernel Module Management Operator
作为集群管理员,您可以使用 OpenShift Container Platform Web 控制台安装 Kernel Module Management (KMM) Operator。
流程
- 登陆到 OpenShift Container Platform Web 控制台。
安装内核模块管理 Operator:
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 从可用的 Operator 列表中选择 Kernel Module Management Operator,然后点 Install。
-
在 Installed Namespace 列表中,选择
openshift-kmm
命名空间。 - 点 Install。
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
验证
验证 KMM Operator 是否已成功安装:
-
进入到 Operators
Installed Operators 页面。 确保 openshift-kmm 项目中列出的 Kernel Module Management Operator 的 Status 为 InstallSucceeded。
注意在安装过程中,Operator 可能会显示 Failed 状态。如果安装过程结束后有 InstallSucceeded 信息,您可以忽略这个 Failed 信息。
故障排除
排除安装 Operator 的问题:
-
导航到 Operators
Installed Operators 页面,检查 Operator Subscriptions 和 Install Plans 选项卡中的 Status 项中是否有任何错误。 -
进入到 Workloads
Pods 页面,在 openshift-kmm
项目中检查 pod 的日志。
-
导航到 Operators
4.2.2. 使用 CLI 安装内核模块管理 Operator
作为集群管理员,您可以使用 OpenShift CLI 安装内核模块管理 (KMM) Operator。
先决条件
- 有一个正在运行的 OpenShift Container Platform 集群。
-
已安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
权限的用户身份登录 OpenShift CLI。
流程
在
openshift-kmm
命名空间中安装 KMM:创建以下
Namespace
CR 并保存 YAML 文件,如kmm-namespace.yaml
:apiVersion: v1 kind: Namespace metadata: name: openshift-kmm
创建以下
OperatorGroup
CR 并保存 YAML 文件,如kmm-op-group.yaml
:apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: kernel-module-management namespace: openshift-kmm
创建以下
Subscription
CR 并保存 YAML 文件,如kmm-sub.yaml
:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: kernel-module-management namespace: openshift-kmm spec: channel: release-1.0 installPlanApproval: Automatic name: kernel-module-management source: redhat-operators sourceNamespace: openshift-marketplace startingCSV: kernel-module-management.v1.0.0
运行以下命令来创建订阅对象:
$ oc create -f kmm-sub.yaml
验证
要验证 Operator 部署是否成功,请运行以下命令:
$ oc get -n openshift-kmm deployments.apps kmm-operator-controller
输出示例
NAME READY UP-TO-DATE AVAILABLE AGE kmm-operator-controller 1/1 1 1 97s
Operator 可用。
4.2.3. 在早期版本的 OpenShift Container Platform 上安装 Kernel Module Management Operator
OpenShift Container Platform 4.12 及更新的版本支持 KMM Operator。对于版本 4.10 及更早版本,您必须创建一个新的 SecurityContextConstraint
对象,并将其绑定到 Operator 的 ServiceAccount
。作为集群管理员,您可以使用 OpenShift CLI 安装内核模块管理 (KMM) Operator。
先决条件
- 有一个正在运行的 OpenShift Container Platform 集群。
-
已安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
权限的用户身份登录 OpenShift CLI。
流程
在
openshift-kmm
命名空间中安装 KMM:创建以下
Namespace
CR 并保存 YAML 文件,如kmm-namespace.yaml
文件:apiVersion: v1 kind: Namespace metadata: name: openshift-kmm
创建以下
SecurityContextConstraint
对象并保存 YAML 文件,如kmm-security-constraint.yaml
:allowHostDirVolumePlugin: false allowHostIPC: false allowHostNetwork: false allowHostPID: false allowHostPorts: false allowPrivilegeEscalation: false allowPrivilegedContainer: false allowedCapabilities: - NET_BIND_SERVICE apiVersion: security.openshift.io/v1 defaultAddCapabilities: null fsGroup: type: MustRunAs groups: [] kind: SecurityContextConstraints metadata: name: restricted-v2 priority: null readOnlyRootFilesystem: false requiredDropCapabilities: - ALL runAsUser: type: MustRunAsRange seLinuxContext: type: MustRunAs seccompProfiles: - runtime/default supplementalGroups: type: RunAsAny users: [] volumes: - configMap - downwardAPI - emptyDir - persistentVolumeClaim - projected - secret
运行以下命令,将
SecurityContextConstraint
对象绑定到 Operator 的ServiceAccount
:$ oc apply -f kmm-security-constraint.yaml
$ oc adm policy add-scc-to-user kmm-security-constraint -z kmm-operator-controller -n openshift-kmm
创建以下
OperatorGroup
CR 并保存 YAML 文件,如kmm-op-group.yaml
:apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: kernel-module-management namespace: openshift-kmm
创建以下
Subscription
CR 并保存 YAML 文件,如kmm-sub.yaml
:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: kernel-module-management namespace: openshift-kmm spec: channel: release-1.0 installPlanApproval: Automatic name: kernel-module-management source: redhat-operators sourceNamespace: openshift-marketplace startingCSV: kernel-module-management.v1.0.0
运行以下命令来创建订阅对象:
$ oc create -f kmm-sub.yaml
验证
要验证 Operator 部署是否成功,请运行以下命令:
$ oc get -n openshift-kmm deployments.apps kmm-operator-controller
输出示例
NAME READY UP-TO-DATE AVAILABLE AGE kmm-operator-controller 1/1 1 1 97s
Operator 可用。