Heat
OpenStack 编排
OpenStack 编排项目的使命是在 OpenStack 云中创建一种人类和机器可访问的服务,用于管理基础设施和应用程序的整个生命周期。
Heat
Heat 是 OpenStack 编排项目的主要项目。它实现了一个编排引擎,用于基于文本文件的模板启动多个复合云应用程序,这些模板可以像代码一样处理。Heat 原生模板格式正在不断发展,但 Heat 也努力提供与 AWS CloudFormation 模板格式的兼容性,以便许多现有的 CloudFormation 模板可以在 OpenStack 上启动。Heat 提供了 OpenStack 原生 ReST API 和 CloudFormation 兼容的查询 API。
为什么叫 ‘Heat’?它让云端升腾!
工作原理
- Heat 模板以人类可读和可写的文本文件形式描述云应用程序的基础设施,并且可以签入版本控制、进行差异比较等。
- 可以描述的基础设施资源包括:服务器、浮动 IP、卷、安全组、用户等。
- Heat 还提供了一个与 Telemetry 集成的自动伸缩服务,因此您可以将伸缩组作为模板中的资源包含在内。
- 模板还可以指定资源之间的关系(例如,此卷连接到此服务器)。这使得 Heat 可以调用 OpenStack API 来创建所有基础设施,并以正确的顺序完全启动您的应用程序。
- Heat 管理应用程序的整个生命周期 - 当您需要更改基础设施时,只需修改模板并使用它来更新现有的堆栈。Heat 知道如何进行必要的更改。当您完成应用程序后,它也会删除所有资源。
- Heat 主要管理基础设施,但模板可以很好地与软件配置管理工具集成,例如 Puppet 和 Chef。Heat 团队正在努力提供基础设施和软件之间更好的集成。
架构
Heat 由多个 Python 应用程序组成
heat
heat 工具是一个 CLI,它与 heat-api 通信以执行 AWS CloudFormation API。当然,这不是必需的——开发人员也可以直接使用 Heat API。
heat-api
heat-api 组件提供了一个 OpenStack 原生 ReST API,它通过 RPC 将 API 请求发送到 heat-engine 进行处理。
heat-api-cfn
heat-api-cfn 组件提供了一个 AWS 样式的查询 API,该 API 与 AWS CloudFormation 兼容,并通过 RPC 将 API 请求发送到 heat-engine 进行处理。
heat-engine
heat 引擎执行模板编排的主要工作,并将事件返回给 API 消费者。
开发
入门指南
在 Heat 文档 中有针对几种发行版的入门指南。
- 在 https://docs.openstack.org 上的安装指南
- 在 Fedora 上开始使用 Heat
- 在 Ubuntu 上开始使用 Heat
- Heat 和 Devstack
- Heat 章节 的 OpenStack 客户端指南
其他链接
- Heat 编排模板 (HOT) 指南
- Heat 如何使用 CloudFormation 和 cloud-init 进行应用程序部署
- Boto 兼容性矩阵
- VPC 资源支持
- Heat Wiki 命名空间中的所有主题
- Heat Translator 项目
heat-core 博客和演示材料
参与贡献
IRC
开发者使用 IRC 在 OFTC 上的 #heat 频道进行开发讨论。
Meetings
会议在 IRC 的 #heat 频道上,在 OFTC 上每周三举行。请参阅 Heat 议程页面 以获取时间和详细信息。
邮件列表
关于 Heat 的讨论发生在 openstack-dev 邮件列表中。请在新主题中使用标签 [Heat]。