openstack - meetupfiles.meetup.com/14970122/heat-software-config.pdfopenstack implementation of heat...

22
OpenStack Heat及其软件配置和部署 OpenStack

Upload: others

Post on 03-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Heat及其软件配置和部署

OpenStack

Page 2: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

目录 CONTENTS

A. Heat介绍

B. Software Configuration软件配置

C. Plans in Kilo

Page 3: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Heat 简介 [1] OpenStack

Page 4: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

背景

OpenStack走向应用市场

Grizzly孵化项目

源于AWS CloudFormation

功能

业务编排

应用部署

自动伸缩

Page 5: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

概念

Template

Resource

Stack

create,delete,update,describe,suspend,resume,adopt,

abandon,snapshot,snapshot_restore......

Page 6: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack 2015/1/31

Heat-api

Heat-api-cfn

Heat-api-cloudwatch

Engine

组件

Page 7: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Software Configuration [2] OpenStack

Page 8: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Cloud-Init

Cloud.cfg UserData

Page 9: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Cloud-Init配置流程

1 2 3

4

Workflow 读取配置文件

初始化文件系统

消费Userdata

5

根据配置完成各个阶段

的模块功能

从Metadata Server

获取虚拟机数据源

Page 10: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Implementation of Heat

user_data打包

方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG

software config resources以资源形式管理配置数据

software deployment resources随时修改配置

push config metadata to server.rsrc_matadata

Page 11: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack 2015/1/31

user_data_format:RAW

Page 12: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Heat Source

config

boothook.sh

part-handler.py

text/cloud-config

text/cloud-boothook

text/part-handler

Template (CFN/HOT)

Metadata

UserData text/x-cfninitdata

loguserdata.py text/x-shellscript

text/x-cfninitdata

cfn-watch-server

text/x-cfninitdata

cfn-metadata-server text/x-cfninitdata

http://172.16.213.138:8003

http://172.16.213.138:8000

Source MIMEString

cfn-userdata

ipath/cloud_config.txt

ipath/handlers/part-handler.py

ipath/scrips/loguserdata.py

Metadata-Server

cloud-init

cfntools

parse/config

ipath/boothooks/boothook.sh write & execute!

write & execute

write & execute

cfn-init-data

/var/lib/heat-cfntools/

generates

executes & logs

user_data_format:HEAT_CFNTOOLS

Notes: ipath = /var/lib/cloud/instance

Page 13: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Page 14: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

user_data_format:SOFTWARE_CONFIG

Page 15: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

ipath/scrips/userdata

Heat Source

config

boothook.sh

part-handler.py

text/cloud-config

text/cloud-boothook

text/part-handler

Template (CFN/HOT)

Metadata

UserData

text/x-shellscript …….

text/x-cfninitdata

cfn-watch-server text/x-cfninitdata

cfn-metadata-server text/x-cfninitdata

http://172.16.213.138:8003

http://172.16.213.138:8000

Source MIMEString

ipath/cloud_config.txt

ipath/handlers/part-handler.py

Metadata-Server

cloud-init

cfntools

parse/config

ipath/boothooks/boothook.sh write & execute!

write & execute

cfn-init-data

/var/lib/heat-cfntools/

generates

executes & logs

user_data_format:SOFTWARE_CONFIG

write & execute

os-collect-config

os-refresht-config

Software config tools

heat-config

heat-config-*(hooks)

Page 16: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

software_config_transport:

POLL_SERVER_CFN

software_config_transport:

POLL_SERVER_HEAT

Page 17: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

example: Configuring with script

notes: include element "heat-config-script"

Page 18: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

example: Configuring with puppet

notes:export DEPLOYMENT_TOOL="heat-config-puppet"

Page 19: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Plans in Kilo [3] OpenStack

Page 20: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

1

https://wiki.openstack.org/wiki/Heat/ConvergenceDesign

1. Persist dependency graph

2. Concurrent stack update

3. Decouple resource deletion tasks and move it to garbage collector

2 Autoscaling

https://wiki.openstack.org/wiki/Heat/AutoScaling

3 Heat Template format usability improvements

https://etherpad.openstack.org/p/heat-useablity-improvements

1. Add "parameter_defaults" to the environment

2. Support better access to nested attributes

3. Support preview the changes of stack update

4. Stack update allow without -P(parameters)

Heat Convergence - resolving any and all questions

Page 21: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

*

多一个机会,多一种人生

云操作系统产品部OpenStack团队(西安)

Page 22: OpenStack - Meetupfiles.meetup.com/14970122/Heat-Software-Config.pdfOpenStack Implementation of Heat user_data打包 方式:RAW, HEAT_CFNTOOLS, SOFTWARE_CONFIG software config resources以资源形式管理配置数据

OpenStack

Thanks!