openstack orchestration (heat)

Post on 08-Jan-2017

789 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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