开源边缘计算项目:让你真正明白什么是StarlingX

来自:云技术之家(微信号:cloudtech1024),作者:肖丁

前言

StarlingX是Intel和WindRiver开源的边缘计算项目。该项目是基于WindRiver的产品Titanimu Cloud R5版本基础上修改而来。Titanium Cloud是基于Openstack专门针对NFV场景开发的产品。该产品具有WindRiver在实时操作系统多年的积累,自主开发的基于DPDK的AVS(虚拟交换机),能够支撑电信云的高带宽,低时延的要求。值得一提的是,StarlingX的开源也是响应了Akraino项目。Akraino是linux基金会推出的,专门针对边缘计算的一款开源软件堆栈项目。StarlingX作为了这里边缘计算中云平台的一部分。


本文重点介绍StarlingX,对于边缘计算相关不再赘述。


(Wind River:边缘计算蓝图)


StarlingX是什么

其实StarlingX是一个软件栈,他包含了打包,编译,安装配置,openstack本身,WindRiver的MTCE平台,以及WindRiver针对电信云开发的VIM等等。


也就是说,通过StarlingX,你可以完完全全的制作出一个可以安装的ISO,并且基于他来搭建一套具有支撑电信云功能的Openstack云平台。


下图说明了StarlingX的主要功能,我们来将图中的功能和git中的工程进行一一对应,来说明StarlingX。


starlingX主要是通过6大组件,来完成对Openstack的安装部署,监控管理等。


服务管理(Service Management)—— stx-ha 
从名字可以看出,就是用来做系统可靠性性的简称(SM)。

1.SM对kenrel中的进程调度进行扩展,增加了信号量,从而可以第一时间获取到监控的进程死亡的信号,从而触发进程重新拉起的工作。

2.SM复用了pacemaker中ocf脚本,可以用它来做服务的拉起。这里主要是对floating IP,nfs等资源的监控

3.SM也使用了init.d的脚本,来对openstack以及其他组件的服务进行拉起动作。


因此,在StarlingX平台上启动/停止相关服务,要使用sm-restart/sm-unmanager等命令来进行。


故障管理(Fault Managerment)——stx-fault

该模块就是用来做事件告警收集的模块,简称(FM)

其他模块通过fm-api来直接发送告警或者事件信息给fm-manager


软件管理(Software Managerment)——stx-update

该模块主要提供了在StarlingX,如何制作patch的工具,同时也有patch的服务,用来管理升级/降级等功能。


基础管理(Bare Metal Managerment)——stx-metal

该模块是StarlingX中比较重要的一部分。整个平台的有机结合都是靠它。


该工程是从WindRiver自己的MTCE平台开源而来。

1. 提供了rmon对资源进行监控,比如cpu/memory等。

2. 提供了pmon对进程进性监控。这个模块的监控和sm是有区别的。SM主要管理Openstack整个服务及相关资源。pmon只管理基础进程,比如ssh等等。

值得一提的是,在StarlingX中的计算节点是不安装SM服务的,所以nova-compute等服务,也是由pmon来监控。

3. hbs服务,对整个平台提供了心跳检测服务。

4. hwmond服务,提供了对服务器BMC的服务。

5. Mtc服务,总管MTCE平台其他服务模块,对外提供接口。


平台调度(Platform Orchestration)—— stx-nfv

从名字来看就可以看到,这个模块是在NFV场景下来丰富openstack功能的组件。

1. 提供了nova-api-proxy的模块,直接监听了nova的8774端口来拦截nova的请求,然后将一些需要处理的请求发送给VIM模块。其他透传给nova。

2. Nfv-vim模块,用来做一些NFV场景下逻辑处理功能,例如VM的HA功能。

3. Guest-server模块。这个模块用来提供了一套api及机制,通过在虚拟机中安装agent,达到从平台侧获取虚拟机心跳等功能。


配置管理(Configuration Managerment)——stx-config

该模块用来对StarlingX中的组件以及openstack服务进行安装配置的。

1. sysinv服务提供整个软件的状态管理,配置的修改等。

2. Controllerconfig/computeconfig等提供了根据角色来进行配置的设置。

每一次启动时候这类服务都会重新执行。来保证系统在重启后能恢复到正常配置。


StarlingX的现状

目前StarlingX的主要贡献者还是Intel和WinderRiver,不过可以看到China unionPay,SUSE,99cloud,NEC等公司已经开始在项目中提交代码。在2018.11月的 OpenStack Summit  上StarlingX还会被专门介绍。《StarlingX - Project Onboarding》

《StarlingX Enhancements for Edge Networking》

推荐↓↓↓
人工智能与大数据
上一篇:AI项目搭建终极宝典!来自Google首席决策智能工程师的经验之谈 下一篇:Nature专栏:“预先登记”制度——让论文报喜也报忧