搜索

4.19. 第 0 天到第 2 天 kmod 安装

download PDF

您可以在第 0 天到第 2 天的操作中,在没有内核模块管理 (KMM) 的情况下安装一些内核模块 (kmods)。这有助于将 kmods 转换为 KMM。

使用以下条件来确定合适的 kmod 安装。

第 0 天

在集群中节点变为 Ready 所需的最基本 kmod。这些类型的 kmod 示例包括:

  • 作为引导过程的一部分挂载 rootFS 所需的存储驱动程序
  • 机器访问 bootstrap 节点上的 machine-config-server 所需的网络驱动程序来拉取 ignition 并加入集群
第 1 天

集群中的节点变为 Ready 不需要的 kmods,但当节点为 Ready 时无法卸载。

此类 kmod 的一个示例是,树外 (OOT) 网络驱动程序,它取代了一个过时的树内驱动程序来充分利用 NIC,NetworkManager 依赖于它。当节点为 Ready 时,因为是 NetworkManager 的依赖项而无法卸载驱动程序。

第 2 天

kmods 可以动态加载到内核或从其中删除,而无需干扰集群基础架构,例如连接性。

这些类型的 kmod 示例包括:

  • GPU operator
  • 二级网络适配器
  • 可现场编程门阵列 (FPGA)

4.19.1. 分层背景

当集群中安装第 0 天 kmod 时,通过 Machine Config Operator (MCO) 和 OpenShift Container Platform 升级应用层不会触发节点升级。

只有在向它添加新的功能时才需要重新编译驱动程序,因为节点的操作系统将保持不变。

4.19.2. 生命周期管理

当驱动程序允许时,您可以在无需重启的情况下,使用 KMM 管理 kmod 的第 0 天到第 2 天的生命周期。

注意

但如果升级需要重新引导节点(例如,当需要重建 initramfs 文件时)这将无法实现。

使用以下选项之一进行生命周期管理。

4.19.2.1. 将 kmod 视为树内驱动程序

在您要升级 kmods 时使用此方法。在这种情况下,将 kmod 视为树内驱动程序,并在集群中创建一个带有 inTreeRemoval 字段的 Module 用来卸载驱动程序的旧版本。

请注意以下将 kmod 视为树状驱动程序的特征:

  • 当 KMM 尝试在所有选择的节点上同时卸载和加载 kmod 时可能会出现停机的情况。
  • 如果删除驱动会导致丢失到节点的连接,则这个方法可以正常工作。因为 KMM 使用单个 pod 来卸载和加载驱动程序。

4.19.2.2. 使用有特定顺序的升级

您可以使用有特定顺序的升级(ordered_upgrade.md) 在集群中创建一个版本化的 Module 来代表没有效果的 kmods,因为 kmods 已被加载。

请注意使用有特定顺序的升级特性:

  • 没有集群停机时间。因为您可以控制升级的过程,以及同时升级的节点数量,所以可以实现在没有停机时间的情况下完成升级。
  • 如果卸载驱动程序会导致丢失与节点的连接,则这个方法将无法正常工作,因为 KMM 创建两个不同的 worker pod,一个用于卸载,另一个用于加载。这些 pod 不会被调度。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.