---
title: KunPeng BoostKit AccLib 加速库组件开箱最优部署指导-官方技术文章-鲲鹏社区
description: 本文介绍了基于KunPeng BoostKit AccLib加速库组件，针对不同的用户场景，实现开箱最优性能的部署教程。
keywords: KunPeng,BoostKit,AccLib,加速库组件开,箱最优部署指,官方技术文章,鲲鹏社区,业务背景与使
url: https://www.hikunpeng.com/developer/techArticles/20250520-2?envFlag=1
section: (其他)
---

# KunPeng BoostKit AccLib 加速库组件开箱最优部署指导-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20250520-2?envFlag=1
描述: 本文介绍了基于KunPeng BoostKit AccLib加速库组件，针对不同的用户场景，实现开箱最优性能的部署教程。
关键词: KunPeng,BoostKit,AccLib,加速库组件开,箱最优部署指,官方技术文章,鲲鹏社区,业务背景与使

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

KunPeng BoostKit AccLib 加速库组件开箱最优部署指导

KunPeng BoostKit AccLib 加速库组件开箱最优部署指导

原生开发自动化部署&扩容openEuleroeDeploy

发表于 2025/05/20

0

作者 | 舒飘扬 曹家驹

## 1. 业务背景与使用场景介绍

### 1.1. 业务背景

鲲鹏 BoostKit 加速库提供基于 ARM 指令深度优化和基于鲲鹏 KAE（鲲鹏硬件加速引擎）开发的加速库，覆盖系统库、压缩、加解密、媒体、数学库、存储、网络、AI 库等8类加速库，为大数据加解密、分布式存储压缩、视频转码等应用场景提供高性能加速。

在 BoostKit 加速库的部署和落地过程中，捕捉到了以下痛点：

- 学习成本高：加速库组件种类多，部署方式不统一，用户学习曲线陡峭，具有一定的使用门槛；
- 网络环境制约：组件部署依赖网络下载，部分场景下要求互联网使用受到限制，部署存在阻力；
- 部署效率低：在服务器集群上部署组件时，由于集群规模庞大，部署工作费时费力，容易出错。

基于 oeDeploy 开发的鲲鹏 BoostKit 自动化部署插件旨在解决以上痛点，以最简单的用户操作实现多节点、多组件的部署，同时兼顾互联网受限的用户需求，满足离线环境的部署需要，真正实现一键部署、开箱最优。

### 1.2. 典型用户场景

| 用户类型 | 需求特征 | 方案价值 |
| --- | --- | ---|
| 初级开发者 | 快速搭建测试环境 | 预置最优配置，5分钟完成基础部署 |
| 进阶开发者 | 定制化组件组合 | 支持组件按需选用，版本灵活指定 |
| 运维工程师 | 大规模生产部署 | 支持集群批量部署、离线安全部署 |

除了以上列举的典型用户外，也欢迎其他用户体验本插件。期待您的宝贵意见！

## 2. 插件内容介绍

### 2.1. 环境依赖

使用本插件前，您需要确认以下条件是否满足：

- 至少一台使用 KunPeng 920 系列处理器的服务器；
- 使用 openEuler 操作系统，且版本不低于 22.03-LTS-SP1；
- yum 源可用，可以是网络源，也可以是本地源；
- pip 源可用（仅针对在线部署方案）；
- 已经安装了 oeDeploy 工具（详见此处 [了解详情](https://gitee.com/openeuler/oeDeploy)）；
- 已经获取了本插件的插件包并解压（获取地址 [了解详情](https://gitee.com/link?target=https%3A%2F%2Frepo.oepkgs.net%2FopenEuler%2Frpm%2FopenEuler-24.03-LTS%2Fcontrib%2Foedp%2Fplugins%2F)，根据实际需要选择在线或离线版本）
- 多节点部署时，各个节点之间可用 ssh 连通（密码或密钥）。

### 2.2. 目录结构

插件中的目录结构如下所示：

```
boostkit(boostkit-offline)
|-- config.yaml   # 用户配置文件
|-- main.yaml     # 插件核心功能描述文件，用户无需关注
|-- doc           # 文档目录
|     +-- ...
+-- workspace     # 工作目录，内含自动化部署逻辑，用户无需关注
        |-- roles
        |-- ...
```

### 2.3. 功能列表

本插件支持以下功能(action)，您可以在命令行执行`oedp run <action>`命令，来使用这些功能：

| 支持功能 (action) | 功能详情 |
| --- | ---|
| AccLib-show | 显示可部署的加速库组件列表 |
| AccLib-install | 一键部署加速库组件 |
| AccLib-uninstall | 一键卸载加速库组件 |

### 2.4. 配置文件

本插件的用户配置文件`config.yaml`示例如下：

```
all:
  hosts:
    host1:
      ansible_host: HOST_IP     # e.g. 192.168.1.101
      ansible_port: 22
      ansible_user: root
      ansible_password: ""
      # 按实际代理需要添加，添加时删除以下第一行和所需行的井号；如需全局使用代理请移动至 all:vars
      #proxy_env:
      #  http_proxy:
      #  https_proxy:
      #  ftp_proxy:
      #  no_proxy:
    # 可在此添加更多主机
  children:
    AccLib:
      hosts:
        host1:
        # 可在此包含更多主机
      vars:
        install_list: 'ALL'    # 支持使用列表，或者使用逗号分隔的字符串
        KSL_version: 2.5.0
        hyperscan_branch: v5.4.2.aarch64
        KAE_branch: kae2
  vars:
    # 跳过所有基本检查项
    skip_check: false
    # pip 源地址，如不涉及 pip 安装可删除此项
    pip_index_url: "https://mirrors.huaweicloud.com/repository/pypi/simple"
    # 临时文件存放目录
    temp_path: /tmp
    # 跳过 ssh 校验，如需禁用此功能，请删除以下配置项
    ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
```

用户需要在`hosts`部分配置目标节点（需要部署加速库组件的机器）的 IP、端口、用户、密码等信息，并根据实际需要决定是否使用代理。此外，还可以修改`vars`中的配置项，更改部署的组件的版本等信息，实现自定义部署。

关于此配置文件的具体配置方法，建议参考下文中的案例来配置。

## 3. 部署流程指导实例

### 3.1. 初级开发者（在线部署）

#### 3.1.1. 实例背景

A 同学是一名接触鲲鹏开发时间不久的初级开发者，对加速库组件了解较少，希望快速上手学习鲲鹏开发，此时在部署加速库组件时遇到困难，需要使用 oeDeploy 来快速完成环境部署，将本机器上所有可用的加速库组件都安装上去。

A 同学的部署节点如下：

| # | 节点角色 | IP | 环境要求 |
| --- | --- | --- | ---|
| 1 | 控制节点、目标节点 | 10.0.1.1 | yum 可用、pip 可用、互联网可用 |

解释：

- 控制节点：安装有 oeDeploy 工具的节点，用户仅需要登录控制节点，并在此完成所有操作；
- 目标节点：待安装加速库组件的节点，需要确保与控制节点之间 ssh 连通，用户不需要直接控制目标节点。

控制节点与目标节点可以是同一台机器，也可以不是同一台机器。在此案例中，#1 号机器既是控制节点，也是目标节点，那么加速库组件将会被部署在当前机器上。

#### 3.1.2. 部署步骤

1. 登录 #1 号机器；

2. 假设插件包位于/root/目录下。进入插件包目录：

`cd /root/boostkit && ls`

3.修改`config.yaml`文件：

`vi config.yaml`

将配置文件修改后如下所示：

```
all:
  hosts:
    host1:
      ansible_host: 10.0.1.1        # 本机 IP
      ansible_port: 22              # ssh 使用 22 端口
      ansible_user: root            # 安全性允许的情况下，使用 root 用户登录
      ansible_password: "12345678"  # 本机 root 密码
      # 不使用代理
  children:
    AccLib:
      hosts:
        host1:   # 此处仅需要引用上面添加的主机名，确保主机名相对应即可
      vars:
        install_list: 'ALL'    # A 同学不熟悉加速库组件，使用 'ALL' 可自动部署所有可用的组件
        KSL_version: 2.5.0     # 组件版本信息一律使用默认值
        hyperscan_branch: v5.4.2.aarch64
        KAE_branch: kae2
  vars:
    # 跳过所有基本检查项
    skip_check: false
    # pip 源地址，如不涉及 pip 安装可删除此项
    pip_index_url: "https://mirrors.huaweicloud.com/repository/pypi/simple"
    # 临时文件存放目录
    temp_path: /tmp
    # 跳过 ssh 校验，如需禁用此功能，请删除以下配置项
    ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
```

在此过程中，A 同学仅需修改 IP 和密码即可完成配置。

4. 开始自动部署

`oedp run AccLib-install`

等待运行完成后，控制台的日志信息中会打印Execute succeeded字样，此时本机上所有可安装的加速库组件就已经全部可用了。

### 3.2. 进阶开发者（在线部署）

#### 3.2.1. 实例背景

B 女士是一名有经验的鲲鹏开发者，最近开发了一款软件，现在想要验证鲲鹏加速库组件对其运行效率的影响。为了节约成本，B女士将临时购买一台云服务器来验证性能，现在希望使用 oeDeploy 工具来简化环境部署工作。

B 女士的部署节点如下：

| # | 节点角色 | IP | 环境要求 |
| --- | --- | --- | ---|
| 1 | 控制节点 | 10.0.2.1 | yum 可用、与其他节点 ssh 通 |
| 2 | 目标节点 | 10.0.2.2 | yum 可用、pip 可用、互联网可用 |

在此案例中，#1 号节点是本地机器，主要用于日常开发，#2 号节点是云服务器，用于验证性能。

#### 3.2.2. 部署步骤

1. 登录#1 号机器并进入插件目录（操作同上一案例，此处省略）

2. 修改`config.yaml`文件，结果如下：

```
all:
  hosts:
    server:      # 可自由修改节点名称
      ansible_host: 10.0.2.2        # 云服务器 IP
      ansible_port: 22
      ansible_user: root
      ansible_password: "12345678"  # 服务器密码
      # 使用网络代理
      proxy_env:
        http_proxy: http://user:password@proxy.example.com:8080
        https_proxy: http://user:password@proxy.example.com:8080
        no_proxy: 127.0.0.1,localhost,local
  children:
    AccLib:
      hosts:
        server:  # 对应修改节点名称
      vars:
        install_list: 'ALL'    # 所有配置暂时保持默认值
        KSL_version: 2.5.0
        hyperscan_branch: v5.4.2.aarch64
        KAE_branch: kae2
  vars:
    # 跳过所有基本检查项
    skip_check: false
    # pip 源地址，如不涉及 pip 安装可删除此项
    pip_index_url: "https://mirrors.huaweicloud.com/repository/pypi/simple"
    # 临时文件存放目录
    temp_path: /tmp
    # 跳过 ssh 校验，如需禁用此功能，请删除以下配置项
    ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
```

3. 检查可用部署列表：

`oedp run AccLib-show`

此命令将会检查目标节点的环境，并打印可用的加速库组件列表，而不会执行任何实际安装的工作，方便用户选用合适的组件。在控制台输出的最后，会打印如下所示的调试信息，表示这台机器可以安装的加速库组件列表：

```
"msg": [
    "Hyperscan Libgcrypt KAE KQMalloc"

```

4. 根据上一步的结果，B 女士决定尝试使用 KQMalloc 和 Hyperscan 来优化性能，此时进一步修改`config.yaml`，结果如下：

```
all:
  hosts:
    server:      # 可自由修改节点名称
      ansible_host: 10.0.2.2        # 云服务器 IP
      ansible_port: 22
      ansible_user: root
      ansible_password: "12345678"  # 服务器密码
      # 使用网络代理
      proxy_env:
        http_proxy: http://user:password@proxy.example.com:8080
        https_proxy: http://user:password@proxy.example.com:8080
        no_proxy: 127.0.0.1,localhost,local
  children:
    AccLib:
      hosts:
        server:  # 对应修改节点名称
      vars:
        install_list: 'KQMalloc,Hyperscan'    # 需要安装 KQMalloc 和 Hyperscan
        KSL_version: 2.5.0          # KQMalloc 是 KSL 的一部分，可修改此配置来更改版本
        hyperscan_branch: v5.4.2.aarch64  # 可配置 Hyperscan 的版本
        KAE_branch: kae2
  vars:
    # 跳过所有基本检查项
    skip_check: false
    # pip 源地址，如不涉及 pip 安装可删除此项
    pip_index_url: "https://mirrors.huaweicloud.com/repository/pypi/simple"
    # 临时文件存放目录
    temp_path: /tmp
    # 跳过 ssh 校验，如需禁用此功能，请删除以下配置项
    ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
```

在整个过程中，经过修改的配置项有：

- 节点信息：节点名称、节点 IP、节点密码、网络代理；
- 安装信息：安装组件列表、版本信息

本例中，需要一次部署多个组件，可以在install_list项中填入多个组件，组件名之间用英文逗号分隔。也支持使用 yaml 的列表语法，例如：

```
install_list:
  - 'KQMalloc'
  - 'Hyperscan'
```

5. 开始自动部署

`oedp run AccLib-install`

等待运行完成后，加速库组件 KQMalloc 和 Hyperscan 就部署完成了。

### 3.3. 集群维护人员（离线部署）

#### 3.3.1. 实例背景

C 先生是一家公司的运维工程师，负责服务器集群维护工作，根据业务需要，将在一个服务器集群上部署鲲鹏加速库 KAE 组件。由于集群中节点数量庞大，安装工作费时费力，需要使用 oeDeploy 工具减少重复劳动。另外，根据公司信息安全规定，服务器集群不允许接入互联网，因此必须采用离线部署方案。

服务器集群的部分节点如下（实际情况下目标节点数量可能更多，此处仅列举三台作为展示）：

| # | 节点角色 | IP | 环境要求 |
| --- | --- | --- | ---|
| 1 | 控制节点 | 100.0.1.1 | yum 可用、互联网可用、与其他节点 ssh 通 |
| 2 | 目标节点 | 100.0.2.1 | yum 可用 |
| 3 | 目标节点 | 100.0.2.2 | yum 可用 |
| 4 | 目标节点 | 100.0.2.3 | yum 可用 |

所有节点中，仅 #1 号节点需要具备互联网，而其他节点均不需要互联网接入，可以确保集群的网络安全。

注：如果要求集群完全脱网，即不允许本例中的 #1 号机器连接互联网，可以通过集群之外的能够使用互联网的机器代替 #1 号机器，完成下面的构建打包操作后，通过非网络方式（例如使用U盘）将插件包拷贝至 #1 号节点，然后完成剩余的部署步骤。

#### 3.3.2. 打包步骤

1. 登录#1 号节点，并进入插件目录，方法同上；（注意：此处需使用本插件的离线版本 boostkit-offline）

2. 根据实际需要修改加速库构建配置文件：

vi workspace/build/AccLib/source.cfg

结果如下：

```
KSL_version="2.5.0"
Hyperscan_git="https://gitcode.com/boostkit/hyperscan.git"
Hyperscan_branch="v5.4.2.aarch64"
KAE_git="https://gitee.com/kunpengcompute/KAE.git"
KAE_branch="kae2"
```

3. 执行构建：

`sh workspace/build.sh`

耐心等待下载完成，在此过程中请确保网络畅通。

4. （可选）根据实际需要决定是否将插件打成压缩包：

`cd .. && tar -zcvf boostkit-offline.tar.gz boostkit-offline/`

在本案例中，无需进行这一步骤。

#### 3.3.3. 部署步骤

1. （可选）将构建好的离线插件包拷贝至控制节点，解压后进入插件目录。在本案例中，无需进行这一步骤。

2. 修改`config.yaml`文件，结果如下：

```
all:
  hosts:
    100.0.2.1:      # 把节点名称改为 IP，方便查看日志及调试
      ansible_host: 100.0.2.1    # 目标节点 IP
      ansible_port: 22
      ansible_user: root
      ansible_password: ""       # 服务器集群中配置了 ssh 密钥，此处无需填写密码
    100.0.2.2:
      ansible_host: 100.0.2.2
      ansible_port: 22
      ansible_user: root
      ansible_password: ""
    100.0.2.3:
      ansible_host: 100.0.2.3
      ansible_port: 22
      ansible_user: root
      ansible_password: ""
  children:
    AccLib:
      hosts:
        100.0.2.1:   # 只需要将上面配置的节点名称依次在此处引入即可
        100.0.2.2:
        100.0.2.3:
      vars:
        install_list: 'KAE'  # 只需要部署 KAE
  vars:
    # 跳过所有基本检查项
    skip_check: false
    # 临时文件存放目录
    temp_path: /tmp/20250501   # 自定义的临时文件路径
    # 跳过 ssh 校验，如需禁用此功能，请删除以下配置项
    ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
```

提示：建议仅在调试环境使用 ssh 密码连接，而在生产环境推荐使用 ssh 密钥连接。使用密钥连接的安全性更高，并且不需要在配置文件中设置密码。

3. 开始自动部署

`oedp run AccLib-install`

开始部署后，所有目标机器会被同步下发任务，并同步执行安装操作，等待执行完成后，集群中的机器就完成了加速库组件的安装。

## 4. 推荐阅读

- oeDeploy 命令行工具使用指南 [了解详情](https://gitee.com/openeuler/oeDeploy/blob/master/doc/Command.md)
- 鲲鹏 BoostKit 加速库介绍 [了解详情](https://www.hikunpeng.com/developer/boostkit/library)

本页内容
