OpenStack entry 4: Introduction to Heat in icehouse, openstackicehouse
Heat Introduction
Heat is the main project in charge of the orchestration plan of OpenStack. It can implement basic operations such as Resource Initialization, dependency processing, and deployment in the cloud environment based on templates, as well as advanced features such as automatic contraction and load balancing. Currently, Heat's template format (HOT) is constantly being improved, and AWS CloudFormation templates (CFN) are also supported. The HOT target is to completely replace CFN in the near future.
Heat provides a native rest api of OpenStack and a query API compatible with CloudFormation.
How Heat works
Heat is mainly used to manage applications based on the template file. In the template file, you can define the resources required by the application, resources can include multiple types (CFN and the types of resources supported by HOT may vary), such as IP, network, image, user, and instance. You can also specify the dependencies between resources. For example, when creating an instance using a cloud hard disk, you can specify that you must create a cloud hard disk when creating an instance.
After editing the template file, you can use the template file to create a Stack. During the creation process, the Heat engine calls the corresponding resource plug-in to create resources based on the resources defined in the template file. After a Stack is created, Heat can manage the lifecycle of all resources in the Stack. For example, it can delete resources or update the definition of resources in the Stack by updating the template.
The simple principle of Heat is as follows:
The execution logic of the Heat engine is roughly as follows:
What can Heat do now?
Compared with other OpenStack projects (such as Nova), Heat is still very young and should be regarded as the H version. Therefore, it may have many shortcomings. The following is a simple list of features supported in version I.
- Support for HOT and CFN templates
The resource type in HOT has a large expansion in the Icehouse version, the complete list please refer to the http://docs.openstack.org/developer/heat/template_guide/openstack.html
- Automatic contraction using Ceilometer
- Template resource update
- Scaling of the Heat Engine
- Supports Cloud-init resource Definition
- Support for Puttet, Chef, and other configuration tools