升级容器化 Driver
此操作步骤仅适用于由 operator 管理的容器化 Driver,且满足 spec.driver.installMode=containerized、spec.driver.usePrecompiled=true,并且 spec.images.precompiledDriver.tag 为空。在此模式下,修改 spec.driver.version 会选择新的预编译 Driver 镜像,而 Driver 升级策略负责控制替换和重启批准。
不要将此操作步骤用于 installMode=host。在 v26.6.0 中,spec.driver.version 仅用于预编译镜像 tag 解析,而 spec.driver.upgradePolicy 仅在容器化模式下管理替换。托管的 Host Driver 变更需要单独规划的节点维护操作步骤。如果 spec.driver.enabled=false,请遵循安装 Host Driver 的系统生命周期流程。
本页中的命令使用默认 Operator 命名空间 npu-operator。如果 Operator 安装在其他命名空间中,请将 npu-operator 替换为该命名空间。
升级前准备
- 检查 版本和组件 和 兼容性。
- 为每个 NPU 节点配置文件镜像新 Driver 镜像 tag。
- 如果 ACP 强制执行镜像白名单策略,请更新目标业务集群中的
ImageWhiteList条目。 - 规划由 Operator 为每个升级节点执行 cordon,并驱逐该节点上请求
huawei.com/Ascend*资源的 Pods。这不是完整的节点 drain。请在维护窗口前停止不得被驱逐的工作负载,确保 PodDisruptionBudgets 允许预期的驱逐,并处理使用emptyDir的 Pods。默认情况下,emptyDir工作负载会阻止替换,除非显式接受spec.driver.upgradePolicy.podDeletion.deleteEmptyDir=true。 - 备份
NPUOperatorCtl实例 YAML。
触发预编译 Driver 升级
将 NEW_VERSION 设置为预编译 Driver 镜像所使用的目标 HDK 版本,然后选择重启策略:
对于生产集群,除非已批准自动节点重启,否则请使用 autoUpgrade: false。
批准节点重启
在手动模式下,在更改目标 Driver 版本后,批准每个预期升级的节点。批准注解是 v26.6.0 创建替换事务的输入;npu.openfuyao.com/reboot-required=true 标签会在批准被消耗后出现。
只批准当前维护窗口包含的节点。不要将原始的 approve-reboot=true 注解应用到所有 NPU 节点:对于当前不需要替换的节点,该注解可能会保留,并批准后续事务。
验证升级
检查 operator 管理的重启事务状态。v26.6.0 不会写入 driver-upgrade-state 标签:
检查 Driver Pod 镜像:
在 NPU 节点上运行 npu-smi,并确认期望的 Driver 版本。
回滚说明
容器化 Driver 回滚是节点生命周期操作,而不仅仅是对象回滚。在尝试回滚之前:
- 确认目标旧 Driver 镜像仍然可用,并且在目标业务集群中仍被
ImageWhiteList允许; - 考虑 NPU 请求型工作负载的驱逐,并停止不得被驱逐或重启的工作负载;
- 将
spec.driver.version重新修补回之前的版本; - 再次批准所需的节点重启流程。
如果先前的 Driver 版本与当前内核、固件或节点 OS 不兼容,请在回滚前联系 Alauda 客户支持。