openstack orchestration (heat)
Post on 08-Jan-2017
789 Views
Preview:
TRANSCRIPT
OpenStack Orchestration
(Heat)Jimi Chen
Agenda• What is Orchestration?• Heat Architecture• Heat Orchestration Template• Autoscaling• References
What is Orchestration?
What is Orchestration?
• Orchestration is a tool for orchestrating clouds that automatically configures and deploys resources in stacks.
• The collection of resources associated with a template is known as a stack, and resource type can be stack.
• Cloud infrastructure to be represented in a declarative form (template).
• Orchestration can worked with AWS CloudFormation templates and HOT(Heat Orchestration Template) templates.
Heat Architecture
Heat Overview Diagram
Heat Architecture• heat
- The heat tool is a CLI which communicates with the heat-api to execute AWS CloudFormation APIs.
• heat-api- The heat-api components provides an OpenStack-native
REST APIs that processes API requests by sending them to heat-engine over RPC
• heat-api-cfn- The heat-api-cfn components provides an AWS-style
Query API that is compatible with AWS CloudFormation and process API requests by sending them to heat-engine over RPC.
• heat-engine- The heat engine does the main work of orchestrating the
launch of templates and providing events back to the API consumer.
Heat Architecture
Heat Orchestration Template
Template Format
CFN (CloudFormation)
JSON format
HOT (Heat Orchestration Template)
YAML format
Template structure
Heat Template Version
• 2015-05-23- support the functions listed
in the right hand.
Parameter Groups
• Specifying how the input parameters should be grouped and the order to provide the parameters in.
Parameters
• Specifying input parameters that have to be provided when instantiating the template.
supported types
parameter example
constraints
constraints example
Resources
• Defines actual resources that make up stack deployed from the HOT template(for instance compute instances, networks, storage volumes).
resource example
Resources dependencies
• Resource type can be stack template, so templates can be composed into hierarchical structure.
Nested Stack Templates
AutoScaling
Autoscaling Concept• Metrics or user events drive scaling• Metrics can includes CPU utilization, memory
utilization, may more as well as custom dimensions.
• Heat can register with Telemetry for callbacks on alarm events.
• Telemetry tells Heat about alarm events and Heat scales a group based on a policy decision to scale up or down.
Autoscaling Resources
• OS::AutoScale::ScalingGroup- A group that can scale an arbitrary set of heat resources.
• OS::AutoScale::ScalingPolicy- Affects the number of scaling units in a group (+1, -10%, etc).
• OS::AutoScale::WebHook- Creates a new web hook that can be used to execute a
ScalingPolicy.
- Examplehttps://github.com/openstack/heat-templates/blob/master/hot/autoscaling.yaml
References• OpenStack Orchestration
http://docs.openstack.org/admin-guide-cloud/orchestration.html
• Heat Wikihttps://wiki.openstack.org/wiki/Heat
• Heat Orchestration Template(HOT) specificationhttp://docs.openstack.org/developer/heat/template_guide/hot_spec.html#template-structure
• Heat AutoScalinghttps://wiki.openstack.org/wiki/Heat/AutoScaling
• Heat templates githubhttps://github.com/openstack/heat-templates
top related