StarlingX 项目概述
项目简介
StarlingX 是 OpenStack Foundation 的新兴试点项目,旨在为边缘云应用提供高性能、低延迟和高可用的软件栈。项目于 2018 年 10 月首次发布,社区持续增长,欢迎用户、操作员和开发者参与。
驱动边缘计算的因素
- 边缘计算的需求:数据增长、网络智能化、分布式基础设施需求。
- 解决的问题:分布式基础设施需要不同的架构、云技术的成熟性和鲁棒性、管理大规模分布式计算环境的难度。
项目目标
重新配置成熟的云技术以适应边缘计算,包括系统级编排、边缘云部署和管理、简化地理分散的边缘区域部署。
技术栈
- Ceph、QEMU/KVM、Kubernetes、OpenStack。
StarlingX 技术
StarlingX 提供可部署的、可扩展的高可靠边缘基础设施软件平台,重点在于易部署、低触摸管理、快速响应事件和快速恢复。
可扩展性
- 单服务器:运行所有功能。
- 双服务器:冗余设计。
- 多服务器:完全弹性和地理分布式。
从核心到边缘的扩展
- 地理分布式多区域部署,中央数据中心提供编排和同步服务,边缘站点规模各异。
配置管理
- 管理安装、自动发现新节点、安装参数(如控制台、根磁盘)。
- 批量通过 XML 文件配置节点。
- 节点配置:角色、角色配置、核心、内存分配、网络接口和存储分配。
- 库存发现:CPU/核心、SMT、处理器、内存、大页、存储、端口、GPU、存储、加密/压缩硬件。
主机管理
- 完全生命周期管理主机,自动处理主机故障并启动恢复。
- 监控和警报:集群连接性、关键进程故障、资源利用率阈值、接口状态、硬件故障/传感器、主机看门狗。
- 通过 REST API 管理主机,与板管理(BMC)接口,进行带外重置、开关机、硬件传感器监控。
服务管理
- 高可用性管理器,冗余模型为 N+M 或跨多个节点的 N,当前为 1+1 HA 控制器集群。
- 多条消息路径避免分叉通信故障,最多 3 条独立通信路径,LAG 配置多链路保护。
- 消息使用 HMAC SHA-512 进行认证,主动或被动监控服务,允许指定服务故障的影响。
软件管理
- 自动部署软件更新以增强安全性和新功能,集成端到端滚动升级解决方案。
- 无需额外硬件升级,节点滚动升级,需要重启的补丁支持重启,需要内核替换的补丁使用虚拟机热迁移。
故障管理
- 基于 API 的基础设施服务框架,设置、清除和查询客户警报,生成客户日志。
- 维护活动警报列表,提供 REST API 查询警报和事件,支持警报抑制。
分布式云
- 基于 OpenStack 区域,中央数据中心提供共享服务、系统级基础设施编排功能、边缘站点部署和管理。
- 边缘站点地理分散,通过 L3 网络连接,运行简化控制平面,区域间通信严格使用 REST API / L3。
发展路线
- 自行构建开放源码组件:耗时、存在空白。
- 使用 StarlingX:提供改进的平台可管理性和应用高可用性,满足边缘云需求,测试完整堆栈,适用于应用。
社区和贡献
原则
- “四开”:开放协作、开放设计、开放开发、开放源码。
- 技术决策由技术贡献者和技术指导委员会做出,社区致力于多样性、开放性、鼓励新贡献者和领导者。
子项目结构
- 主要子项目:新功能和服务的开发。
- 支持子项目:支持服务、测试和基础设施。
- 子项目团队结构:1 名团队领导、1 名项目领导、核心审查者、贡献者。
治理角色
- 贡献者:过去 12 个月内做出贡献的人(代码、测试或文档)。
- 核心审查者:活跃的子项目贡献者,负责审查变更和规范。
- 技术领导:每个子项目,核心审查者,指导子项目技术方向。
- 项目领导:子项目级别的协调工作,跟踪和沟通进展和优先级。
- 子项目大使。
治理机构
- 技术指导委员会(TSC):负责整体项目架构决策,管理子项目生命周期,做出最终决策。
- 初始 TSC 成员:Brent Rowsell(Wind River)、Ian Jolliffe(Wind River)、Dean Troyer(Intel)、Saul Wold(Intel)。
参与方式
- 代码和文档通过 git 访问:
git.starlingx.io,Apache 2 许可证。
- IRC:
#starlingx@Freenode。
- 邮件列表:
http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss。
- 每周会议:Zoom 会议,
https://wiki.openstack.org/wiki/Starlingx/Meetings。
- Twitter:
@StarlingX。
贡献方向
- 错误跟踪:
https://bugs.launchpad.net/starlingx。
- 新想法:
https://git.openstack.org/cgit/openstack/stx-specs/。
- 设计和实现:
https://storyboard.openstack.org/#!/project_group/86。
- 子团队和流程信息:
https://wiki.openstack.org/wiki/StarlingX。
社区
- 无需成为 OpenStack Foundation 个人成员即可贡献,但若要投票,需加入:
openstack.org/join。
- 代表雇主贡献需签署企业贡献者许可协议。
沟通
- IRC:
#starlingx@Freenode。
- 邮件列表:
lists.starlingx.io。
- 邮箱:
info@starlingx.io。
- 每周会议:Zoom 会议。
- Twitter:
@StarlingX。