摘要边缘计算是一个新兴的技术方向,边缘计算能够和云计算紧密结合,充分发挥边缘的低时延、安全等特性,具有广阔的应用前景
边缘计算的研究工作仍处于一种探索阶段,各厂商及开源社区边缘技术路线各不相同
本文的边缘计算平台是基于 Nomad 构建的边缘云落地形态
Docker 等容器技术由于具备轻量级、节约资源、毫秒级启动时间、高性能等特性,适合大多数边缘计算的场景
然而,Nomad 已有的容器等运行时并不能覆盖某些边缘场景的需求,Nomad 运行时的支持种类仍有待丰富
本文着眼于边缘计算平台的多运行时支持,包括 Libvirt 虚拟机运行时和 FaaS 函数运行时
目前许多企业还存在存量虚拟机的场景,已有业务迁移的需要以及一些边缘场景需要使用传统虚拟机,包括同时需要支持多个不同 OS 的场景,业务有更高的安全、隔离需求
基于该需求,本文引入 Libvirt 虚拟化技术,提出了Libvirt 虚拟机运行时,以插件的形式作为一个中间层管理虚拟机任务
首先进行 Libvirt 虚拟运行时对虚拟机任务定义与解析支持;其次根据驱动插件接口,实现了对虚拟机任务的启动、停止、销毁等生命周期管理操作,以及与 Nomad的健康检查、日志、配置、监控等交互;接着为虚拟机提供 NAT、Bridge 两种网络方式的支持;并尝试支持设备透传,减轻设备虚拟化导致的性能下降
另外,物联网平台和应用使用边缘计算承载已成为共识,但物联网应用存在海量接入、碎片化、边缘化等特点,并且目前云、边、端三者的计算架构、开发模式存在较大差异,为提升效率需要边缘计算提供新的架构和技术手段,而边缘计算软件平台采用 Cloud Native 云原生架构是一种必然的选择
本文调研了 Serverless 的 FaaS 技 术 , 提 出 了 FaaS 函 数 运 行 时
技 术 选 型 后 采 用OpenFaaS,尝试在边缘端采用