heat应用

gushiren gushiren     2022-12-24     775

关键词:

 

 

 

作为OpenStack中的编排引擎,Heat能够出色的完成编排任务,井井有条地管理编排出来的资源。但同时,Heat也是一个出色的应用部署引擎,它提供了一套内置的框架去完成一系列复杂的应用部署任务。

技术分享图片

使用Heat来部署应用的优势

Heat是OpenStack里面的原生服务,大部分的发行版都会提供这个服务,使用起来更方便。同时通过OS::Heat::SoftwareConfig和OS::Heat::SoftwareDeployment等多个资源类型的组合,可以轻易的实现一套应用部署流程。在虚拟机中的Agents会定时与Heat通信,发送脚本执行结果,方便Heat进行流程控制。有了这一套机制,Heat便拥有了对软件生命周期管理的能力。

使用SoftwareConfig的HOT模版

技术分享图片

要通过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才能给虚拟机下发正确的配置文件。

软件部署机制的内部流程

技术分享图片

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脚本执行结果。

heat入门第一步

...在创建一个人性化的服务去管理整个云架构,服务和应用的生命周期。heat实现了一种自动化的通过简单定义和配置就能实现的云部署方式。可以在heat模板中定义连串相关任务(例如用某配置开几台虚拟机,然后再去... 查看详情

如何让 Wix Heat.exe 保留自定义文件 ID?

...间】:2019-07-2311:21:38【问题描述】:我有一个ASP.NET核心应用程序,我正在为其创建WIX安装程序。我正在使用Heat生成所有文件:<!--Removeread-onlyattribute--><ExecCommand="attrib-R%(Proj 查看详情

WIX - Heat.exe - Heat.exe 是不是支持多种多收获类型

】WIX-Heat.exe-Heat.exe是不是支持多种多收获类型【英文标题】:WIX-Heat.exe-DoesHeat.exesupportmultiplemultipleharvesttypeWIX-Heat.exe-Heat.exe是否支持多种多收获类型【发布时间】:2016-09-0903:35:38【问题描述】:我想使用Heat.exe命令构建一个WIX文... 查看详情

heat模板

Heat目前支持两种格式的模板,一种是基于JSON格式的CFN模板;另外一种是基于YAML格式的HOT模板。CFN模板主要是为了保持对AWS的兼容性。HOT模板是Heat自有的,资源类型更加丰富,更能体现出Heat特点的模板。一个典型的HOT模板由下... 查看详情

heat创建stack

1.使用模板创建虚拟机heat_template_version:2018-09-04description:Simpletemplatetodeployavirtualmachine.resources:my_hello_vm:#资源名type:OS::Nova::Server#nova方法properties:image:cirros#镜像名flavor:m1.small#flavor名net 查看详情

多实例的heat模板(代码片段)

一、heat编排    heat编排简单来讲,就是替代人工自动选择OpenStack自身基础架构资源,包括计算、网络和存储等资源。通过编排这些资源,用户可以得到最基本的VM。二、heat模板   目前heat支持两种格式的... 查看详情

如何包含由 Heat 创建的 Wix Fragments

】如何包含由Heat创建的WixFragments【英文标题】:HowtoincludeWixFragmentscreatedbyHeat【发布时间】:2010-11-1609:53:28【问题描述】:我有以下片段:<?xmlversion="1.0"encoding="utf-8"?><Wixxmlns="http://schemas.microsoft.com/wix/2006/wi"><Fragmen 查看详情

packstack安装openstackqueens版本:在horizon里没有heat的编排目录

原因:beforequeensheatwasinsidehorizoncode,inqueensandlater,heatdashboardisinadifferentpackageandneedtobeinstalled,packagename:openstack-heat-ui 解决办法是:yuminstall-yopenstack-heat-ui 重启服务:systemctl restartopenstack-heat*systemctlrestarthttpd 查看详情

heat-autoscaling

在openstack的I版本号中,Heat中加入了对于AutoScaling资源的支持,github上也提供了相应的AutoScaling的模板,同一时候也支持使用ceilometer的alarm来触发ScalingPolicy。AutoScaling定义的流程首先定义一个AutoScalingGroup,该Group定义了能够持有资源... 查看详情

Wix、Heat 和 Wxi 文件

】Wix、Heat和Wxi文件【英文标题】:Wix,HeatandWxiFile【发布时间】:2009-10-2106:39:02【问题描述】:我正在使用heat.exe生成文件列表,我需要替换File/@Source="SourceDir"所以我传递-var和目录名称,但这些变量是在我的.wxi文件中定义的如何... 查看详情

leaflet绘制热力图

...leaflet了,leaflet因其轻量、灵活性得到了越来越多的应用。并且leaflet的插件也非常多,综合使用的话,可以很容易的实现数据的可视化分析与应用1、leaflet-heat插件leaflet-heatmap插件:https://github.com/Leaflet/Leaflet.heatlea... 查看详情

openstack-heat中的aws::waitcondition的使用

在heat中。一个instance的创建成功信号是在这个instance状态成为active之后发出的,这时候user-data可能还没有运行。可是heat已经觉得这个resource创建成功了,開始调度下一个resource的创建。假设我们要建立一个webserver,这个webserver须... 查看详情

openstack使用heat创建stack

重建stack:http://CONTROLLER_IP:8004/v1/PROJECT_ID/stacksmethod:postheader:content-Type:application/jsonAccept:application/jsonX-Auth-Token:TOKENbody:{ "files": { "myfile": "#!/bin/bash wget& 查看详情

wix heat 使用 xsl 文件移除命名空间

】wixheat使用xsl文件移除命名空间【英文标题】:wixheatremovenamespaceusingxslfile【发布时间】:2014-07-0620:56:10【问题描述】:这是我的预构建脚本:"%WIX%\\bin\\heat.exe"dir"$(SolutionDir)Export\\Release\\SkyCam\\Config"-t"$(SolutionDir)IQStudioInstaller\\Simu... 查看详情

如何在 WiX 安装程序中将应用程序添加为防火墙例外

】如何在WiX安装程序中将应用程序添加为防火墙例外【英文标题】:HowtoaddanapplicationasFirewallexceptioninWiXinstaller【发布时间】:2013-07-0709:43:47【问题描述】:我有一个需要安装大量文件的安装程序。我正在使用heat.exe来收集所有文... 查看详情

Wix Heat 输出没有像我想要的那样引用目录

】WixHeat输出没有像我想要的那样引用目录【英文标题】:WixHeatoutputnotreferencingdirectorylikeIwant【发布时间】:2011-08-0216:46:56【问题描述】:所以这是基本设置。我有一个现有的WIX项目,它将一堆单独的片段构建到一个更大的MSI中... 查看详情

Wix 资源收集工具“Heat”。如何获取具有动态名称的文件,例如构建时生成的 Microsoft 运行时文件

】Wix资源收集工具“Heat”。如何获取具有动态名称的文件,例如构建时生成的Microsoft运行时文件【英文标题】:Wixresourceharvestingtool"Heat".HowtoharvestfileswithdynamicnamelikeMicrosoftruntimefilesgeneratedonbuild【发布时间】:2020-01-2016:29:... 查看详情

Wix Installer Heat.exe 错误 参数“exePath”无效

】WixInstallerHeat.exe错误参数“exePath”无效【英文标题】:WixInstallerHeat.exeerrorParameter"exePath"isinvalid【发布时间】:2021-02-1713:21:15【问题描述】:我正在构建一个独立的.NetCore工作者服务,我将其作为Windows服务运行。现在我... 查看详情