前言
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》