集群管理员会面临该角色特有的挑战,尤其是在带有树外(OOT)集群模块的环境中。逐一升级设备插件或不同内核版本可能容易出现错误。而借助 Kernel Module Management Operator(KMM),管理员可以为任何内核模块构建、签署和部署多个内核版本。
按照设计,KMM 可同时容纳任何内核模块的多个内核版本。使用此 Operator 的同时还可以利用 Intel Center GPU Flex 的硬件加速功能,从而实现无缝的节点升级,以及速度更快的应用处理和模块部署。
设置 KMM
KMM 需要一个已经正常运行的 OpenShift 环境,以及一个用于推送镜像的镜像仓库。您可以使用 OpenShift 控制台中的 OperatorHub 安装 KMM,也可通过以下 kmm.yaml 来安装:
---
apiVersion: v1
kind: Namespace
metadata:
name: openshift-kmm
---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: kernel-module-management
namespace: openshift-kmm
---
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
运行以下命令:
oc apply -f kmm.yaml
启用硬件加速
安装之后,KMM 可以为您的硬件编译和安装内核模块驱动程序。然后,管理员可以与 Node Feature Discovery Operator(NFD)集成,以检测节点上的硬件功能,并进行标记以供稍后在选择器中使用。NFD 会自动向节点添加标签来显示一些特征,包括节点是否具有 GPU,以及它具有哪一种 GPU。
在使用 NFD 标签时,您可以将特定的自定义内核版本作为模块部署和支持的目标,以便只有具有所需内核和所需硬件的主机才能完成驱动程序激活。这可确保仅将兼容的驱动程序安装到具有受支持内核的节点上,这正是 KMM 的可贵之处。
借助 NFD 集成,KMM 可以更轻松地将 Intel GPU 内核部署到预期节点上,同时确保所有其他节点均不受影响。具体过程在 Developers.redhat.com 网站上进行了更详细的介绍:
最后总结
这只是 KMM 和内核模块的一个方面,可用于减少在多个节点中管理更新所需的工作量。有了 KMM,您将以无缝方式处理树外内核模块,直到您以后将驱动程序整合到上游并包含在发行版中。
KMM 是一个社区项目,您可在上游 Kubernetes 上进行测试。还有一个 Slack 社区频道,可供您与其他开发人员和专家交流更多将 KMM 应用到自己环境中的方法。
关于作者
产品
工具
试用购买与出售
沟通
关于红帽
我们是世界领先的企业开源解决方案供应商,提供包括 Linux、云、容器和 Kubernetes。我们致力于提供经过安全强化的解决方案,从核心数据中心到网络边缘,让企业能够更轻松地跨平台和环境运营。