Akri在希腊语中的意思是“边缘”,Akri原本来自位于芬兰格拉斯哥的科技公司,是2020年是唯一一家入选微软的2020年人工智能AI奖的芬兰公司。Akari首席执行官Margaret Totten表示:“我们为成为本年度入选公司之一而感到自豪。微软和社会技术基金会建立的程序对任何公司都产生了巨大的推动作用。
入选之后,微软宣布了Akri为开源,该工具提供了类似于CNI的抽象层,可帮助Kubernetes查找并使用边缘设备,例如传感器,控制器和微控制器单元(MCU)。
这些组件称为异构叶设备,范围从IP摄像机到USB设备。它们是“边缘”计算(试图将处理资源带到外部设备)的组成部分,但可能太小而无法自行运行Kubernetes。因此,Akri的创建是为了帮助容器编排系统Kubernetes找到并使用边缘设备。
Akri的体系结构由四个关键的Kubernetes组件组成:两个自定义资源(CRD),一个设备插件实现和一个自定义控制器。
第一个自定义资源“ Akri Configuration”是自定义命名的位置,告诉Akri是哪种类型。然后,当Akri Agent(一个Kubernetes设备插件框架实现)搜索“叶子设备Leaf Device”并检查所需设备的可用性时,Akri就能找到它。
一旦发现您的设备,Akri Controller就会帮助您使用它。它会看到每个代表分支设备的Akri实例,并部署一个“代理”窗格,该代理知道如何连接到分支设备并加以利用。”
由于边缘设备可能太小而无法运行Kubernetes,因此Akri依赖于不同的发现协议来定位和使用不同类型的设备。
当前,Akri支持两种协议:用于IP摄像机的ONVIF和用于在Linux文件系统中发现内容的udev。该项目的路线图要求开发人员社区优先考虑支持哪些其他协议,例如蓝牙和许多其他协议。目前正在考虑增加支持的协议有:
- OPC UA(用于发现OPC UA服务器)(提案已上传)
- 蓝牙
- 简单扫描IP / MAC地址
- LoRaWAN
- Zeroconf
微软表示:“ Akri支持的协议越多,Akri可以发现的叶子设备的范围越广。” Akri当前可以使用MicroK8,K3,AKS-HIS或其他Kubernetes发行版部署在您的边缘群集上。
Microsoft的软件工程师Kate Goldenring在官方博客文章中是这样评价Akri的:
今天,微软很自豪地分享Akri项目,该项目旨在为Kubernetes用户带来优势。Akri是一个新的开源项目,它将这些叶设备作为Kubernetes集群中的资源公开。Akri在希腊语中意为“边缘”,也可以理解为首字母缩写词,因为Akri旨在成为“边缘的Kubernetes资源接口”。
凯特·金丁
微软软件工程师
Akri的核心是基于Rust语言开发,要开始使用Akri,您必须首先决定要发现哪些资源以及Akri是否支持协议来发现这些资源。您还必须安装Kubernetes 1.16或更高版本,并安装kubectl。另外,所有节点都必须是Linux。
Akri开源地址是https://github.com/deislabs/akri, 在这里你可以找到更多技术细节,如果有兴趣可以参与开发或者提出建议。
原创文章,作者:xgl,如若转载,请注明出处:https://edgeaitech.com/p/346