使用限制
边缘节点限制说明-容器模式
边缘节点既可以是物理机,也可以是虚拟机。成为边缘节点接入BIE云管平台需要满足以下几方面条件。
资源要求
边缘计算框架包含以下三部分内容的资源消耗,分别是k3s、docker、系统边缘应用(baetyl-core)。这三部分内容预计需要占用1核CPU、2G内存和10G硬盘的资源。
为了保障业务应用在边缘节点上的正常运行,建议边缘节点最小资源配置如下:
- CPU >= 2核
- 内存 >= 4GB
- 硬盘 >=64GB,由业务应用的镜像文件比较大,因此建议64GB磁盘空间。
操作系统要求
边缘节点需要安装非裁剪内核的Linux操作系统,当前已测试适配的Linux发行版如下:
-
AMD64架构(x86_64)
- Ubuntu 16.04及以上版本
- CentOS 7.3及以上版本
- Darwin 17.0.0及以上版本,对应macOS 10.13.4及以上版本
- 银河麒麟V10
- Windows 10,通过Docker Desktop搭建K8s环境,或者通过WSL2搭建K3s/K8s环境来运行BIE边缘计算框架
-
ARM64架构
- Ubuntu 18.04及以上版本
- Raspberry Pi OS(64-bit),刚发布beta版本
-
ARMv7l架构
- Raspberry Pi OS(32-bit)
kubernetes环境要求
边缘节点的需要安装kubernetes环境:
- 对于小型边缘盒子,因为资源比较紧张,建议使用k3s。
- 对于大型边缘服务器,可以使用k8s,也可以使用k3s。
对于kubernetes环境的版本依赖要求如下:
- k3s:使用
v1.18.4+k3s1
及以上版本 - k8s:使用
1.18.4
及以上版本。
容器运行时要求
容器运行时可以是docker,也可以是containerd。建议使用版本如下:
- docker:建议使用19.03及以上版本
- containerd:使用安装k3s和k8s附带的版本即可。
AI计算芯片
如果边缘侧需要运行AI算法,对于边缘AI芯片会有依赖,当前BIE已经适配验证支持的边缘AI芯片包括如下类型:
- 通用ARM芯片
- 通用AMD64/x86_64芯片
- NVIDIA GPU
- NVIDIA Jetson
- 华为昇腾310
- SOPHON BM1684
- Intel Movidius
通过BIE下发的边缘AI应用,支持调用上述边缘AI算力。
边缘节点限制说明-进程模式
资源要求
边缘节点最小资源配置如下:
- CPU >= 1核
- 内存 >= 512MB
- 硬盘 >=16GB
操作系统要求
进程模式边缘节点支持如下操作系统:
-
AMD64架构(x86_64)
- Linux
- Windows 10
- Darwin(Mac OS)
-
ARM64架构
- Linux
-
ARMv7l架构
- Linux
应用部署限制说明
部署操作说明
通过BIE可以实现应用的云端配置,并下发至边缘节点。但是应用能否在边缘节点上正常运行,主要取决于应用本身是否与边缘节点架构匹配。
比如在云端定义的应用要求调用 NVIDIA GPU 的算力,而边缘节点是一台没有GPU AI加速卡的通用ARM64设备,那么应用(容器镜像、模型文件)是能够正常下发,但是在边缘运行这个应用的时候,会因为加载不到GPU算力而导致应用启动失败。
因此在做应用下发的时候,需要用户明确知道以下两点:
- 应用本身的定义,比如应用的架构、运行应用依赖的芯片、容器运行时等信息。如果是进程应用,还需要确认本地是否安装了程序运行所依赖的库。
- 边缘节点自身的条件,比如前面提到的操作系统、架构、AI计算芯片、容器运行时等。
使用建议
应用和边缘节点本地都支持添加标签,因此在创建应用和节点的时候,尽量多添加对这两类资源的描述标签。比如针对一个需要运行在jetson上的AI应用,我们可以对jetson节点以及这个AI应用同时打上如下标签:
-
tag1:
- key:ai-card
- value:nvidia-jetson
-
tag2:
- key:arch
- value:arm64
应用是基于节点标签匹配来完成应用部署的,因此在添加目标节点标签的时候,将应用自身的依赖条件声明标签也加入到目标节点标签当中,这样可以尽可能的规避将应用部署至不满足要求的节点上。
比如,在设置test-app这个测试用的目标节点标签时,先添加上述的tag1和tag2过滤出满足运行条件的节点,然后再加上其他的tag过滤条件实现最终的应用部署。