+ All Categories
Home > Technology > OpenStack Orchestration (Heat)

OpenStack Orchestration (Heat)

Date post: 08-Jan-2017
Category:
Upload: jimi-chen
View: 789 times
Download: 0 times
Share this document with a friend
24
OpenStack Orchestration (Heat) Jimi Chen
Transcript
Page 1: OpenStack Orchestration (Heat)

OpenStack Orchestration

(Heat)Jimi Chen

Page 2: OpenStack Orchestration (Heat)

Agenda• What is Orchestration?• Heat Architecture• Heat Orchestration Template• Autoscaling• References

Page 3: OpenStack Orchestration (Heat)

What is Orchestration?

Page 4: OpenStack Orchestration (Heat)

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.

Page 5: OpenStack Orchestration (Heat)

Heat Architecture

Page 6: OpenStack Orchestration (Heat)

Heat Overview Diagram

Page 7: OpenStack Orchestration (Heat)

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

Page 8: OpenStack Orchestration (Heat)

• 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.

Page 9: OpenStack Orchestration (Heat)

Heat Architecture

Page 10: OpenStack Orchestration (Heat)

Heat Orchestration Template

Page 11: OpenStack Orchestration (Heat)

Template Format

CFN (CloudFormation)

JSON format

HOT (Heat Orchestration Template)

YAML format

Page 12: OpenStack Orchestration (Heat)

Template structure

Page 13: OpenStack Orchestration (Heat)

Heat Template Version

• 2015-05-23- support the functions listed

in the right hand.

Page 14: OpenStack Orchestration (Heat)

Parameter Groups

• Specifying how the input parameters should be grouped and the order to provide the parameters in.

Page 15: OpenStack Orchestration (Heat)

Parameters

• Specifying input parameters that have to be provided when instantiating the template.

Page 16: OpenStack Orchestration (Heat)

supported types

parameter example

Page 17: OpenStack Orchestration (Heat)

constraints

constraints example

Page 18: OpenStack Orchestration (Heat)

Resources

• Defines actual resources that make up stack deployed from the HOT template(for instance compute instances, networks, storage volumes).

resource example

Page 19: OpenStack Orchestration (Heat)

Resources dependencies

• Resource type can be stack template, so templates can be composed into hierarchical structure.

Page 20: OpenStack Orchestration (Heat)

Nested Stack Templates

Page 21: OpenStack Orchestration (Heat)

AutoScaling

Page 22: OpenStack Orchestration (Heat)

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.

Page 23: OpenStack Orchestration (Heat)

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

Page 24: OpenStack Orchestration (Heat)

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


Recommended