OpenStack Heat是一个Python软件项目,是OpenStack Orchestration计划的主要落地项目。
OpenStack Heat是OpenStack提供的一个REST服务。能够基于一个声明式的模板,通过装配引擎装配组合若干个云应用。
OpenStack Heat主要管理云基础设施,而非应用实例。
还可以通过安装插件,扩展OpenStack Heat的功能。
1. OpenStack Heat的软件组成
- heat command-line client,一个命令行客户端,用以与heat-api组件通信,以提交命令
- heat-api,提供了一个OpenStack REST API,响应请求并进而通过RPC与heat-engine组件通信
- heat-api-cfn,提供了一个OpenStack 查询REST API,响应请求并进而通过RPC与heat-engine组件通信
CFN表示AWS CloudFormation
- heat-engine,实际完成任务
2.OpenStack Heat的模板(HOT, Heat Orchestration Template)
- 文本格式的文件(YAML)
- 描述云应用所需的基础设施
- 给出各种OpenStack资源之间的关系
- 描述多个云应用的装配方式
- 能够方便地集成到Puppet/Chef/Ansible等软件配置管理工具
3. OpenStack Heat通过创建一个stack以启动一个云应用实例
stack是一组实例化的云资源,通过HOT描述要创建的stack。
参考链接:
https://docs.openstack.org/heat/latest/
https://wiki.openstack.org/wiki/Heat