跳转到: 导航, 搜索

Senlin


OpenStack Project Senlin Horizontal.png

概述

Senlin 是 OpenStack 云的集群服务。它创建和管理由其他 OpenStack 服务暴露的同构对象集群。目标是简化相似对象集合的编排。

Senlin 与其他 OpenStack 服务交互,以便可以创建和管理这些服务暴露的资源集群。这些交互主要通过 profile 插件完成。每种 profile 类型实现都使 Senlin 能够创建、更新、删除特定类型的资源。

集群可以关联不同的 Policy 对象,这些对象可以在不同的强制执行级别进行检查/强制执行。通过服务 API,用户可以动态地向集群添加节点和从集群移除节点,附加和分离策略,例如创建策略、删除策略、负载均衡策略、伸缩策略、健康策略等。通过与其他 OpenStack 项目集成,用户将能够更轻松地管理大规模资源池的部署和编排。

Senlin 被设计为能够管理不同类型的对象。对象的生命周期使用 Profile Type 实现进行管理,这些实现是可以由服务引擎动态加载的插件。

特性亮点

Senlin 服务的关键特性如下

  • 一个通用的集群/集合服务,用于管理 OpenStack 上同构云对象的组。
  • 一套 API 用于管理集群成员关系,例如添加/删除节点。
  • 基于插件的对象 profile 管理,能够创建和管理任何对象池。
  • 基于插件的策略强制执行框架,具有灵活的策略自定义功能,用于集群管理。
  • 基于插件的事件通知,允许将集群操作转储或泵送到存储或下游软件。
  • 一个异步执行引擎,用于确保集群和节点的 state 一致性。

架构

下图描述了 Senlin 服务的系统架构

Senlin-architecture.png

图片中的主要组件是

  • senlinclient 组件为用户提供与 Senlin 服务交互的命令行界面 (CLI);
  • senlin-api 服务为 senlinclient 组件或其他服务提供 RESTful API;
  • senlin-engine 服务位于 senlin-api 服务之后,并使用作为插件加载的 profilespolicies 来操作集群/节点。

使用场景

以下是 Senlin 服务的一些典型使用场景。后续将添加更多场景。

文档

相关演示文稿

 - 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.
 - 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
 - How VM HA can be achieved by integrating OpenStack services.
 - How to scale a VM cluster across multiple regions.
 - 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
 - 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.
 - 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.
 - 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
 - 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 频道上。

议程 2015 年会议记录 2016 年会议记录