openstack heat & how autoscaling works

Post on 27-Jan-2017

494 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Openstack Heat & How Autoscaling works@Openstack chennai meetup Aug 2015

JayaprakashTechnical Lead, Product Developmentjayaprakash.r@cloudenablers.com

Beny RajaTechnical Lead, DevOps

benyraja.j@cloudenablers.com

Overview

● Heat is the orchestration component of Openstack. Template-driven engine that allows us to describe and automate the deployment of infrastructure & application

● Extended capabilities such as Nested stacks, Resource Groups, Auto scaling, Software deployment using configuration management tools like puppet

Services

● Heat - CLI which communicates with heat-api● Heat-api - REST based service which sends api

requests to heat-engine via RPC● Heat-engine - Orchestrates openstack resources● Heat-api-cfn - REST based service which sends

api requests to heat-engine via RPC

Heat Architecture

HOT Template structure

● heat_template_version● description● parameter_groups● parameters● input● resources● output

Reference:http://docs.openstack.org/developer/heat/template_guide/hot_spec.html

HOT Template

Develop your own Resource Plugins

● Plugin Life cycle – Create,Update,Suspend,Delete,Resume

● Registering resource plugin name – OS::Nova::Workload

● Properties & Attributes● Handler Methods – handle_create, handle_update,

handle_delete...● Configure heat to register new plugins and restart

heat-engine service

Reference:http://docs.openstack.org/developer/heat/pluginguide.html

Heat - Standalone Mode● Orchestrate Multi openstack setups● Standalone mode configuration in heat.conf

○ [paste_deploy]flavor = standalone

○ [authpassword]multi_cloud = trueallowed_auth_uris =

http://192.168.1.171:5000/v2.0, http://192.168.1.223:5000/v2.0

● Heat cli to access remote openstackheat --os-no-client-auth --os-username admin --os-password openstack --os-tenant-name admin --os-auth-url http://192.168.1.223:5000/v2.0 --heat-url http://192.168.1.10:8004/v1/98073903698740af87fb57ca9e41eed5 stack-list

Autoscaling

● To maintain application availability and allows you to scale the capacity up or down automatically according to conditions you define

● Automatically increase the number of instances during demand spikes to maintain performance

● Heat & Ceilometer are the components used to implement Autoscaling in Openstack

Autoscaling workflow

Ceilometer Alarm Resource

Autoscaling Group Resourcelb_server.yaml

Alarm Action URL

● Heat engine server address● Stack id & name● Scaling resource id & name● URL params – Timestamp, Signature, Access key

http://192.168.1.142:8000/v1/signal/arn:openstack:heat::<stack_id>:stacks/test_stack/<resource_id>/resources/scaleup_policy?Timestamp=&SignatureMethod=HmacSHA256&AWSAccessKeyId=fa71fad02e974f4f8a21265c58bacf0f&SignatureVersion=2&Signature=poYnVLF9mLEGjBXbjT63svjCnymnhrLP9chFPHiyVoo%3D

References

● http://docs.openstack.org/developer/heat/template_guide/hot_spec.html

● https://wiki.openstack.org/wiki/Heat● https://github.com/openstack/heat-templates● https://wiki.openstack.org/wiki/Heat/Blueprints/

heat-multicloud● http://developer.openstack.org/api-ref-

orchestration-v1.html

Thank You

top related