从异构到融合:openFuyao 多样化算力资源池化与调度总体方案——KAE-Operator 实践与拓展

从异构到融合:openFuyao 多样化算力资源池化与调度总体方案——KAE-Operator 实践与拓展

一、前言:多样化算力时代的调度挑战

随着数据中心算力结构从传统 CPU 时代走向 “异构算力并存” 的全新阶段,GPU、NPU、DPU、KAE(Kunpeng Acceleration Engine)等专用算力设备持续增加。硬件能力越强,对软件层统一管理、自动化调度与性能释放的要求就越高。

在这样的背景下,openFuyao 作为面向国产算力生态的开放容器平台,承担了 “将多样化算力能力池化、调度化、服务化” 的关键使命。然而,传统开发者仍依赖手工安装驱动、手工部署加速服务、手工调试节点能力 —— 流程繁琐、运维成本高、开发链路不统一。

为解决这些问题,openFuyao 构建了以 KAE-Operator、NPU-Operator、NFD(Node Feature Discovery) 为核心的算力自动化能力体系,实现加速能力的 “自动部署、一键接入、统一调度”。

本文将聚焦 KAE-Operator,并结合 openFuyao 的总体算力管理方案,展示其面向多样化算力生态的自动化与智能化演进。

二、KAE 与 Operator 在 openFuyao 中的角色

1. KAE 简介

KAE(Kunpeng Acceleration Engine)是基于鲲鹏处理器体系打造的通用加速引擎,支持多类数据处理加速能力,包括:

(1)加密加速(SM2/SM3/SM4、AES、SHA 等)

(2)压缩与解压缩

(3)数据传输和数据安全处理

(4)通用数据面算法加速

这些能力广泛应用于对象存储、数据库、日志服务、消息中间件和网络设备中,是云基础设施性能优化的关键组成部分。

2. Operator 的角色:算力调度的自动化引擎

在 openFuyao 中,Operator 框架承担以下核心任务:

(1)自动部署驱动组件、用户态库与加速服务

(2)自动注册节点算力能力,纳入调度体系

(3)维护算力资源 CRD,支持算力池化

(4)与 openFuyao 调度器协作,实现按需调度

因此,Operator 是 “硬件能力 → 集群可调度资源” 的桥梁。

三、KAE-Operator 系统架构与核心模块

KAE-Operator 的架构遵循标准 Kubernetes Operator 设计,主要包含以下模块:

1. 总体架构

(1)Controller 控制器

监听自定义资源(CRD)的变化,自动执行部署或更新动作。

(2)CRD(Custom Resource Definition)

定义 KAE 节点算力能力,例如加密模块、压缩模块、设备状态等。

(3)DaemonSet / Deployment 机制

DaemonSet:适用于节点级加速库 / 驱动的统一部署

Deployment:负责控制加速服务组件和指标采集模块

2. 关键模块说明

模块功能
资源注册模块自动发现节点 KAE 设备,写入 CRD,纳入 openFuyao 算力池
状态同步模块实时上报健康状态、驱动版本、可用指令能力
日志与监控模块输出运行日志、提供 Prometheus 指标,支持可视化观测

该架构保证整个集群在大规模环境下也能保持低运维、低耦合与高自动化水平。

四、安装与部署流程(基于官方文档)

1. 前提条件

(1)环境准备

  • 已安装 kubectl 和 Helm CLI(或集群支持应用商店 / 仓库配置)
  • Kubernetes 集群中 KAE 工作节点需统一运行 openEuler 22.03 LTS 操作系统(非 KAE 工作节点无此限制)
  • KAE 节点已激活 License(虚机场景需完成硬件切分和硬直通,参考官方文档)
  • 节点配置与系统版本一致的 yum 源(依赖 kernel-devel 等内核包)

(2)离线环境 yum 源配置(可选)

\# 1. 下载对应版本 openEuler 离线镜像并上传至 /mnt/iso 目录

\# 2. 创建挂载目录

mkdir -p /mnt/openEuler

\# 3. 挂载镜像

mount /mnt/iso/openEuler-22.03-LTS-x86_64-dvd.iso /mnt/openEuler

\# 4. 配置 yum 源

mv /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak

cat </yum.repos.d/openEuler.repo

\[openEuler\]

name=openEuler

baseurl=file:///mnt/openEuler

enabled=1

gpgcheck=1

gpgkey=file:///mnt/openEuler/RPM-GPG-KEY-openEuler

EOF

\# 5. 更新缓存

yum clean all && yum makecache

(3)NFD 依赖检查

NFD(节点特性感知服务)为必选依赖,默认由 Operator 自动部署,若集群已运行 NFD 需手动禁用:

\# 检查 NFD 是否已运行(输出 true 表示已运行)

kubectl get nodes -o json | jq '.items\[\].metadata.labels | keys | any(startswith("feature.node.kubernetes.io"))'

2. 安装方式

(1)openFuyao 平台可视化安装

  1. 进入 openFuyao 平台,左侧导航栏选择「应用市场 > 应用列表」
  2. 搜索 “kae operator”,进入应用详情页
  3. 点击右上角「部署」,输入应用名称、版本信息、命名空间
  4. 点击「确认」完成部署

(2)通用场景 Helm 安装

  1. 添加 Helm 仓库
helm repo add openfuyao https://helm.openfuyao.cn && helm repo update
  1. 基础安装(默认配置)
helm install --wait --generate-name \\

\-n kae-operator --create-namespace \\

openfuyao/kae-operator

3. 常见定制选项(核心配置)

范围描述默认值
nfd.enabled是否部署 NFD 服务(已运行 NFD 则设为 false)true
nfd.nodefeaturerules是否安装 KAE 设备发现规则(NFD 已运行时设为 true)false
operator.enabledHPRE是否启用 HPRE 设备管理(核心加密加速功能)true
driver.enabled是否由 Operator 管理 KAE 驱动(预装驱动时设为 false)true
driver.enabledCleanup卸载时是否删除宿主机驱动false
devicePlugin.enabled是否部署 KAE 设备插件(预装插件时设为 false)true
psa.enabled集群启用 Pod Security Admission 时设为 truefalse

4. 常见部署场景示例

(1)指定命名空间安装

helm install --wait --generate-name \\

\-n openfuyao --create-namespace \\

openfuyao/kae-operator

(2)阻止特定节点安装驱动

\# 标记节点禁止部署驱动(安装前执行)

kubectl label nodes $NODE openfuyao.com/kae.deploy.driver=false

\# 恢复部署权限

kubectl label nodes $NODE openfuyao.com/kae.deploy.driver=true

(3)使用自定义镜像安装

helm install --wait --generate-name \\

\-n kae-operator --create-namespace \\

openfuyao/kae-operator \\

\--set driver.repository=docker.io/your repository \\

\--set driver.version="0.1"

5. 验证部署结果

\# 查看 Operator 相关 Pod 状态

kubectl get pods -n kae-operator

\# 查看节点 KAE 资源标签(确认设备发现成功)

kubectl describe nodes grep "openfuyao.com/kae.hpre"

五、功能亮点:让加速算力 “自动上线”

  1. 自动化算力发现与注册

无需人工配置,Operator 自动探测并上报加速能力,让算力自然池化。

  1. 快速部署、低侵入性

只需简单的 kubectl apply 或 Helm 命令即可完成加速引擎部署,极大降低运维门槛。

  1. 支持多算力类型协同管理

KAE-Operator 与 NPU-Operator、GPU-Operator 共享 openFuyao 的统一算力管理框架,实现跨设备协同调度。

  1. 稳定可靠的容错机制

监控失败自动重启、CRD 状态恢复、热更新能力确保算力服务持续在线。

  1. 对 openFuyao 算力池化与统一调度的强化作用

operator 是算力纳入统一调度体系的前提。 通过 CRD 注册和能力上报,调度器可以做到:

(1)按需调度到支持某种加速能力的节点

(2)针对不同算力设备进行差异化资源判断

(3)实现跨节点、跨设备的算力池扩展

六、拓展:NPU-Operator 与 NFD 的协同价值

1. NPU-Operator:面向 AI 推理算力的自动调度

NPU-Operator 与 KAE-Operator 架构一致,通过自动部署驱动、注册 NPU 设备能力,使 AI 推理算力可调度、可监控、可管理。

典型能力包括:

(1)NPU 设备拓扑查询

(2)昇腾算子库自动加载

(3)操作系统与驱动版本匹配检查

(4)设备健康检测

2. NFD(Node Feature Discovery)节点特征发现

NFD 是实现 “精细化调度” 的关键组件,能够自动识别节点硬件特征并打上标签,包括:

(1)CPU 型号、NUMA 拓扑

(2)GPU/NPU/KAE 设备

(3)巨页、PCIe 拓扑

(4)节点性能能力(AVX、ARM 指令集等)

openFuyao 的算力调度通过对 NFD 标签进行规则匹配,实现 “按需选节点” 的智能调度策略。

七、总结与展望:构建真正的多样化算力融合调度体系

KAE-Operator 与 NPU-Operator、NFD 的协同,是 openFuyao 在多样化算力时代的重要基石。它们实现了:

(1)算力自动化上线

(2)多设备统一资源模型

(3)跨硬件能力的统一调度体验

(4)开发者 “开箱即用” 的算力加速体验

未来,openFuyao 将继续扩展到更多加速设备,包括 DPU、FPGA、专业 AI 芯片等,并基于 Operator 与 NFD 体系打造真正的:

“多样化算力融合、池化、自治调度的云原生基础底座”

对于硬件厂商与算力服务平台,openFuyao 提供了一个开放、可集成、可扩展的生态。 对于开发者,openFuyao 提供了 “一键部署、自动加速” 的全新体验。

算力正在变得更快、更智能、更易获取,而 openFuyao 正在让异构算力变得 “像水电一样易用”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值