订阅我们的博客

Being a cluster administrator can come with its own challenges, especially with environments that carry out-of-tree (OOT) cluster modules. Upgrading device plug-ins or different kernel versions can be prone to errors when doing so one-by-one. This is where the Kernel Module Management Operator (KMM) comes in, allowing admins to build, sign, and deploy multiple kernel versions for any kernel module.

KMM is designed to accommodate multiple kernel versions at once for any kernel module. Using this operator can also leverage the hardware acceleration capabilities of Intel Center GPU Flex, allowing for seamless node upgrades, faster application processing, and quicker module deployment.

Setting up KMM

KMM requires an already working OpenShift environment and a registry to push images to. KMM can be installed using OperatorHub in the OpenShift console or via the following 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

With:

oc apply -f kmm.yaml

Enabling hardware acceleration

Once installed, KMM can compile and install kernel module drivers for your hardware. Admins can then integrate with the Node Feature Discovery Operator (NFD), which detects hardware features on nodes and labels them for selector use later. NFD automatically adds labels to the nodes that present some characteristics, including if the node has a GPU and which GPU it has.

In using NFD labels, specific custom kernel versions can be targeted for your module deployment and enablement, so that only hosts with the required kernel and the required hardware are enabled for driver activation. This ensures that only compatible drivers are installed on nodes with a supported kernel, which is what makes KMM so valuable.

With NFD integration, KMM can more easily deploy Intel GPU kernels to the intended nodes, while leaving any other nodes unaffected. This process is detailed more in the Developers.redhat.com site:

Final thoughts

This is just one aspect of KMM and kernel modules that can be utilized to reduce the amount of effort required to manage updates in multiple nodes. KMM will let you handle out-of-tree kernel modules in a seamless fashion, until you can later incorporate your drivers upstream and include them in your distribution.

KMM is a community project, which you can test on upstream Kubernetes. There is also a Slack community channel where you can chat with fellow developers and experts about more ways to apply KMM to your own environment.


关于作者

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Original series icon

原创节目

关于企业技术领域的创客和领导者们有趣的故事