senlin服务简介

senlin服务简介

参考:https://docs.openstack.org/developer/senlin/overview.html

API:https://developer.openstack.org/api-ref/clustering/

服务定义

senlin服务基于OpenStack的集群服务。senlin通过调用OpenStack其他服务的API创建实例集群。

目标

使资源实例集群编排创建更简单。

工作原理

profile是senlin服务的基础配置,profile文件用来定义资源,cluster或者node在创建的时候从profile进行创建,解析profile后senlin调用OpenStack相关服务创建资源实例,并在senlin服务中进行管理。

伸缩能力的通过两种方式提供:

  1. 直接调用cluster的相关伸缩接口,包括以下几种:

  2. 用receiver对象接收伸缩请求

    receiver创建成功后会生成alarm url地址,此地址即是出发cluster做操作的请求链接。所以此地址是私有的,像密码一样不可公开。

    alarm url地址可以在创建aodh告警的时候设置为alarm的alarm_actions操作列表,一旦alarm触发告警,会自动向alarm_actions发送请求,达到自动伸缩的能力。

senlin服务相关组件

  1. senlinclient

    OpenStack所有服务组件都会对外提供命令行工具及client插件,senlinclient是openstackclient的插件,通过senlinclient用户可以直接使用命令行同senlin-api进行交互,简化用户操作。同时,senlinclient可以认为是调用senlinclient的python SDK,其他服务或者用户自己编写代码可以直接通过senlinclient访问senlin-api,极大的减少编码量。

  2. senlin-dashboard

    senlin-dashboard是Horizon的UI插件,通过senlin-dashboard提供给用户直接的界面操作。

  3. senlin-api

    提供OpenStack原生的REST API,接收用户请求,将请求通过RPC发送给senlin-engine处理,并将处理结果返回给API调用者。

  4. senlin-engine

    senlin服务的核心处理进程,所有的核心逻辑都在senlin-engine进行处理,创建和管理senlin所有的对象,包括profile、policy、cluster、node等。

senlin服务中的相关对象

Table of Contents