Heat
OpenStack Orchestration
Openstack程序的目标是创建一个人和机器都可以访问的服务,从而在OpenStack的云环境中管理整个基础架构的生命周期。
Heat
Heat是OpenStack程序中主要的项目。它实现了一个业务流程引擎,来建立多种基于模板的云应用,这些模板是文本文件格式的,并且可以当做代码来处理。一个原声的Heat模板格式是不断演化的,但是Heat也尽力提供与AWS CloudFormation模板格式的兼容性,因此很多现成的CloudFormation能够直接在OpenStack上搭建。Heat提供了OpenStack-native ReST API 和 CloudFormation-compatible Query API。
How it works?
- 一个Heat模板描述了云应用的基础架构,这些应用可以是对人是可读写的文本文件,并且可以做到版本控制。
- 基础架构资源包括:服务,浮动ip,容量,安全组,用户等等。
- Heat提供了集成Ceilometer的可自动缩放的服务。
- 模板可以指定资源之间的关系。这个使Heat可以调用OpenStack的API来按照正确的顺序创建所有的基础架构,从而完整地创建应用。
- Heat管理应用的整个生命周期,当你要改变你的基础架构,或者简单地修改模板来更新现存的Stack时,Heat就能够自行做出必要的调整。当你结束使用应用时,Heat可以释放资源。
- Heat主要管理基础架构,但是这个模板很好的集成了一些软件配置管理工具,例如Puppet和Chef。Heat团队正在尽力提供更好的软件和架构之间的集成。
Architecture
Heat包含了以下Python的应用:
heat,heat工具是一个CLI(命令行接口),它可以和heat-api进行通信,来执行AWS CloudFormation APIs。
heat-api,heat-api组件提供了一个OpenStack-native ReST API,这个API进程通过使用RPC将其发送至heat-engine产生请求。
heat-api-cfn,heat-api-cfn组件提供了一个AWS风格的Query API,这个API与AWS CloudFormation兼容。
heat-engine,heat-engine组件主要用于编排模板的创建,并且将事件返回给API用户。