Senlin
概述
Senlin 是 OpenStack 云的集群服务。它创建和管理由其他 OpenStack 服务暴露的同构对象集群。目标是简化相似对象集合的编排。
Senlin 与其他 OpenStack 服务交互,以便可以创建和管理这些服务暴露的资源集群。这些交互主要通过 profile 插件完成。每种 profile 类型实现都使 Senlin 能够创建、更新、删除特定类型的资源。
集群可以关联不同的 Policy 对象,这些对象可以在不同的强制执行级别进行检查/强制执行。通过服务 API,用户可以动态地向集群添加节点和从集群移除节点,附加和分离策略,例如创建策略、删除策略、负载均衡策略、伸缩策略、健康策略等。通过与其他 OpenStack 项目集成,用户将能够更轻松地管理大规模资源池的部署和编排。
Senlin 被设计为能够管理不同类型的对象。对象的生命周期使用 Profile Type 实现进行管理,这些实现是可以由服务引擎动态加载的插件。
特性亮点
Senlin 服务的关键特性如下
- 一个通用的集群/集合服务,用于管理 OpenStack 上同构云对象的组。
- 一套 API 用于管理集群成员关系,例如添加/删除节点。
- 基于插件的对象 profile 管理,能够创建和管理任何对象池。
- 基于插件的策略强制执行框架,具有灵活的策略自定义功能,用于集群管理。
- 基于插件的事件通知,允许将集群操作转储或泵送到存储或下游软件。
- 一个异步执行引擎,用于确保集群和节点的 state 一致性。
架构
下图描述了 Senlin 服务的系统架构
图片中的主要组件是
- senlinclient 组件为用户提供与 Senlin 服务交互的命令行界面 (CLI);
- senlin-api 服务为 senlinclient 组件或其他服务提供 RESTful API;
- senlin-engine 服务位于 senlin-api 服务之后,并使用作为插件加载的 profiles 和 policies 来操作集群/节点。
使用场景
以下是 Senlin 服务的一些典型使用场景。后续将添加更多场景。
文档
相关演示文稿
- 在 OpenStack 云中增强高可用性,亚特兰大峰会,2014
- A taxonomy of architecting high-availability into an OpenStack cloud. - The then current status of OpenStack support to HA. - A proposed service (HAaaS) which layed the foundation for Senlin's cluster design.
- 苏宁云和 Heat,巴黎峰会,2014
- Experience sharing on using OpenStack for an online retailer - Requirements on orchestrating enterprise applications: clustering, scaling, HA ... - Gaps identified in the then current status of OpenStack services
- VM 高可用性和跨区域自动伸缩,巴黎峰会,2014
- How VM HA can be achieved by integrating OpenStack services. - How to scale a VM cluster across multiple regions.
- Senlin 深入探讨,温哥华设计峰会,2015
- A discussion on Heat design summit about senlin service design - How the service is architected, the terminology behind it - How auto-scaling can be achieved in this design
- 使用 Magnum 和 Senlin 进行容器自动伸缩,东京峰会,2015
- Experience sharing on integrating Magnum and Senlin - Magnum provisions the container orchestration engines (COEs) - Senlin is responsible to scale the container clusters and the underlying VM clusters.
- Senlin v1.0.0 版本深入探讨,奥斯汀峰会,2016
- An overview of the Senlin service design as of the 1.0.0 release. - A summary of progress made during Mitaka cycle. - An overlook of features planned for Newton cycle.
- 以 OpenStack 原生方式管理容器集群,奥斯汀峰会,2016
- A technology preview of the container clustering support in Senlin - The discussion focuses on the on-going effort that builds and manages a docker cluster on OpenStack
- 使用 Senlin 在 5 分钟内部署弹性、弹性且负载均衡的集群,奥斯汀峰会,2016
- Experiences sharing how elasticity, resiliency and load-balancing can be achieved using Senlin - The demo shows how the above requirements are met using a Heat template consisting of Senlin resource types.
- 使用 Senlin 构建自动修复的资源集群 [1],巴塞罗那,2016
- 使用 Senlin 管理数千个 VM 的集群 [2],巴塞罗那,2016
- 将企业监控产品 Senlin 和 Mistral 集成用于自动修复 [3],波士顿,2017
- VNFs 的高可用性和可扩展性管理 [4],波士顿,2017
- Senlin:NFV 编排器和 OpenStack 之间的理想桥梁[5],波士顿,2017
- 在 OpenStack 上启动 Kubernetes 很酷,然后呢 [6],悉尼峰会,2017
参与
| Launchpad 项目 | Senlin SenlinClient SenlinDashboard |
| 代码仓库 | Senlin SenlinClient SenlinDashboard |
| Blueprints | Senlin 蓝图 |
| 代码审查 | Senlin SenlinClient SenlinDashboard |
| 错误跟踪 | Senlin SenlinClient |
| IRC 频道 | #senlin on freenode.net |
| 邮件列表 | 将邮件发送到 openstack-dev,并在主题中添加标签 [Senlin]。 |
| 每周会议 | 0530UTC 每两周,偶数周的周五在 #openstack-meeting 频道上。 |

