heat SoftwareConfig

要通过Heat来部署应用,至少三个资源会被使用到:

  • OS::Heat::SoftwareConfig 用于存储应用部署的执行脚本,每一个脚本都应该用一个SoftwareConfig来存储。其中group表示这是一个script脚本,将会被script模块执行。此外还支持ansible、chef、puppet、salt等脚本。config属性存放要执行的脚本内容,通常我们会通过get_file函数去获取一个脚本的内容。
  • OS::Heat::SoftwareDeployment 会把应用部署的脚本传输到vm里面并执行。
  • OS::Nova::Server里面需要把user_data_format属性设置成SOFTWARE_CONFIG,这样heat才能给虚拟机下发正确的配置文件。

软件部署机制的内部流程

0720wechat4

1.  Heat stack-create 触发部署流程,Heat分析并存储template中的数据,SoftwareConfig中的脚本会放到Heat数据库中。
2.  Heat Engine去请求Nova创建相应的资源,并且在虚拟机的metadata中写入一些Heat的信息,包括Heat的API和认证信息。
3.  Nova通知compute节点创建虚拟机。
4.  虚拟机第一次启动之后会调用Cloud-init,cloudinit与nova metadata service通信,获取metadata信息。
5.  然后通过不同的module去设置这些相应的配置,例如hostname,ssh等等。
6.  然后启动os-collect-config进程,它会读取/etc/os-collect-config.conf这个配置文件,里面由cloud-init配置了Heat的一些信息。读取完配置文件之后会与Heat API,以获取软件部署脚本。
7.  然后os-collect-config会调用os-refresh-config去对比新获取的脚本是否与之前的脚本不同。
8.  如果获取的脚本有更新,则调用os-apply-config去执行。
9.  执行结束之后通知heat脚本执行结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值