openstack中Heat说明文档.docx
- 文档编号:23127138
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:34
- 大小:1.39MB
openstack中Heat说明文档.docx
《openstack中Heat说明文档.docx》由会员分享,可在线阅读,更多相关《openstack中Heat说明文档.docx(34页珍藏版)》请在冰豆网上搜索。
openstack中Heat说明文档
Heat说明文档
1项目介绍
1.1什么是Heat?
Heat是一套业务流程平台,旨在帮助用户更轻松地配置以OpenStack为基础的云体系。
利用Heat应用程序,开发人员能够在程序中使用模板以实现资源的自动化部署。
Heat能够启动应用、创建虚拟机并自动处理整个流程。
它还拥有出色的跨平台兼容性,能够与AmazonWebServices业务流程平台CloudFormation相对接——这意味着用户完全可以将AWS模板引入OpenStack环境当中。
2安装和配置
2.1InstalltheOrchestrationservice
InstalltheOrchestrationmoduleonthecontrollernode:
#yuminstallopenstack-heat-apiopenstack-heat-engineopenstack-heat-api-cfn
2.2在配置文件中说明Orchestration服务存储的数据在数据库的位置,下面的例子使用MySQL数据库。
#openstack-config--set/etc/heat/heat.conf\
DEFAULTsql_connectionmysql:
//heat:
HEAT_DBPASS@controller/heat
以root身份和之前设置的密码登录,再创建一个名为heat的数据库。
#mysql-uroot-p
mysql>CREATEDATABASEheat;
mysql>GRANTALLPRIVILEGESONheat.*TO'heat'@'localhost'\
IDENTIFIEDBY'HEAT_DBPASS';
mysql>GRANTALLPRIVILEGESONheat.*TO'heat'@'%'\
IDENTIFIEDBY'HEAT_DBPASS';
2.3创建heat服务表
#heat-managedb_sync
2.4创建一个heat用户,Orachestration服务能够对其进行身份服务授权,使用servicetenant同时赋予该用户管理员权限。
#keystoneuser-create--name=heat--pass=HEAT_PASS--email=heat@example.
com
#keystoneuser-role-add--user=heat--tenant=service–role=admin
2.5编辑/etc/heat/heat.conf文件,在[keystone_authtoken]和[ec2_authtoken]部分添加认证:
[keystone_authtoken]
auth_host=controller
auth_port=35357
auth_protocol=http
auth_uri=http:
//controller:
5000/v2.0
admin_tenant_name=service
admin_user=heat
admin_password=HEAT_PASS
[ec2_authtoken]
auth_uri=http:
//controller:
5000/v2.0
keystone_ec2_uri=http:
//controller:
5000/v2.0/ec2tokens
2.6用身份服务去注册Heat和CloudFormationAPIs以便其他openstack服务能找到这些APIs,注册这些服务并指点端点:
#keystoneservice-create--name=heat--type=orchestration\
--description="HeatOrchestrationAPI"
2.6.1使用返回给服务的id属性去创建端点:
#keystoneendpoint-create\
--service-id=the_service_id_above\
--publicurl=http:
//controller:
8004/v1/%\(tenant_id\)s\
--internalurl=http:
//controller:
8004/v1/%\(tenant_id\)s\
--adminurl=http:
//controller:
8004/v1/%\(tenant_id\)s
#keystoneservice-create--name=heat-cfn--type=cloudformation\
--description="HeatCloudFormationAPI"
2.6.2使用返回给服务的id去创建端点:
#keystoneendpoint-create\
--service-id=the_service_id_above\
--publicurl=http:
//controller:
8000/v1\
--internalurl=http:
//controller:
8000/v1\
--adminurl=http:
//controller:
8000/v1
2.7启动heat-api,heat-api-cfn和heat-engine服务,同时配置他们使得在机器启动的时候这些服务也会启动。
#serviceopenstack-heat-apistart
#serviceopenstack-heat-api-cfnstart
#serviceopenstack-heat-enginestart
#chkconfigopenstack-heat-apion
#chkconfigopenstack-heat-api-cfnon
#chkconfigopenstack-heat-engineon
2.8验证Orchestration服务的安装
为了验证Orchestration服务被正确安装和配置,确保所做的配置在openrc.sh是正确的,使用下面的命令:
$sourceopenrc.sh
3操作命令
3.1命令用法
usage:
heat[--version][-d][-v][-k][--os-cacert
[--cert-fileCERT_FILE][--key-fileKEY_FILE][--ca-fileCA_FILE]
[--api-timeoutAPI_TIMEOUT][--os-usernameOS_USERNAME]
[--os-passwordOS_PASSWORD][--os-tenant-idOS_TENANT_ID]
[--os-tenant-nameOS_TENANT_NAME][--os-auth-urlOS_AUTH_URL]
[--os-region-nameOS_REGION_NAME][--os-auth-tokenOS_AUTH_TOKEN]
[--os-no-client-auth][--heat-urlHEAT_URL]
[--heat-api-versionHEAT_API_VERSION]
[--os-service-typeOS_SERVICE_TYPE]
[--os-endpoint-typeOS_ENDPOINT_TYPE][--include-password]
3.2命令使用说明
heataction-resume
重启或恢复栈
heataction-suspend
挂起栈
heatbuild-info
获取建栈的信息
heatevent-list[-r
stack的事件列表
heatevent-show
描述stack的事件
usage:
heatoutput-list
显示可用的输出
heatoutput-show
显示可用输出的值
heatresource-list
显示某个stack资源的列表
usage:
heatresource-metadata
列出元数据资源
heatresource-show
描述资源(例如一个wordperss的资源信息)
heatresource-signal[-D][-f
给资源发送信号
heatresource-template[-F
基于资源产生一个模板
heatresource-type-list
列出可用的资源类型
heatresource-type-show
显示资源类型
heatstack-abandon
放弃栈
heatstack-adopt[-f
[-c
[-P
使用栈
heatstack-create[-f
[-c
[-P
创建一个栈
heatstack-delete
删除一个栈
heatstack-list[-s][-f
[-m
列出用户所有的栈
heatstack-preview[-f
[-P
预览栈
heatstack-show
描述栈
heatstack-update[-f
[-t
更新栈
heattemplate-show
得到某个具体的栈的模板
heattemplate-validate[-u
[-o
3.3验证模板参数
命令可选参数
--version
显示版本信息
-d,--debug
Defaultstoenv[HEATCLIENT_DEBUG].
-v,--verbose
打印更详细的输出
-k,--insecure
Explicitlyallowtheclienttoperform"insecure"SSL(https)requests.Theserver'scertificatewillnotbeverifiedagainstanycertificateauthorities.Thisoptionshouldbeusedwithcaution.
--os-cacert
SpecifyaCAbundlefiletouseinverifyingaTLS(https)servercertificate.Defaultstoenv[OS_CACERT]
--cert-fileCERT_FILE
PathofcertificatefiletouseinSSLconnection.Thisfilecanoptionallybeprependedwiththeprivatekey.
--key-fileKEY_FILE
PathofclientkeytouseinSSLconnection.Thisoptionisnotnecessaryifyourkeyisprependedtoyourcertfile.
--ca-fileCA_FILE
PathofCASSLcertificate(s)usedtoverifytheremoteserver'scertificate.WithoutthisoptiontheclientlooksforthedefaultsystemCAcertificates.
--api-timeoutAPI_TIMEOUT
NumberofsecondstowaitforanAPIresponse,defaultstosystemsockettimeout
--os-usernameOS_USERNAME
Defaultstoenv[OS_USERNAME].
--os-passwordOS_PASSWORD
Defaultstoenv[OS_PASSWORD].
--os-tenant-idOS_TENANT_ID
Defaultstoenv[OS_TENANT_ID].
--os-tenant-nameOS_TENANT_NAME
Defaultstoenv[OS_TENANT_NAME].
--os-auth-urlOS_AUTH_URL
Defaultstoenv[OS_AUTH_URL].
--os-region-nameOS_REGION_NAME
Defaultstoenv[OS_REGION_NAME].
--os-auth-tokenOS_AUTH_TOKEN
Defaultstoenv[OS_AUTH_TOKEN].
--os-no-client-auth
Donotcontactkeystoneforatoken.Defaultstoenv[OS_NO_CLIENT_AUTH].
--heat-urlHEAT_URL
Defaultstoenv[HEAT_URL].
--heat-api-versionHEAT_API_VERSION
Defaultstoenv[HEAT_API_VERSION]or1.
--os-service-typeOS_SERVICE_TYPE
Defaultstoenv[OS_SERVICE_TYPE].
--os-endpoint-typeOS_ENDPOINT_TYPE
Defaultstoenv[OS_ENDPOINT_TYPE].
--include-password
Sendos-usernameandos-passwordtoheat
4创建和管理stacks(Dashboard中的使用)
4.1创建stack的前提是已经安装好Devstack,这里就忽略Devstack的安装过程,在安装好的Devstack的Dashboard中可以看到图1所示界面。
图1(Dashboard界面)
4.2创建stack需要模板
可以自己定义,也可以直接利用模板的URL,也可以从网站上下载模板并加载到stack中,模板可以创建不同的应用,这里就以wordpress应用并利用在线的模板为例创建stack,因为有的模板需要keypair有的不许要,这里的例子是需要的,那么首先需要创建一个keypai。
4.2.1进入Access&Security选项中,可以看到如图2所示界面:
图2(Access&Security界面)
4.2.2单击右上角的CreateKeyPair,如图3所示,输入KeyPairName,单击CreateKyePair。
图3(CreateKeyPair)
4.2.3结果如图4所示
图4(结果)
4.3Stack的创建
4.3.1进入Orchestration列表下的Stacks选项,如图5所示。
图5(Stacks界面)
4.3.2单击右上角的LaunchStacks,会出现一个创建stack的界面并输入相应的信息,如图6所示,其中TemplateSource选择URL,在TemplateURL中输入模板的地址,这里是参考官网文档中的模板,输入后单击Next。
图6(Stack信息输入界面)
4.3.3单击Next后会出现填入模板中规定字段内容的界面
具体如图7所示,其中StackName为必填字段,可以任意取值;Passwordforusr“admin”字段内容所填的是登录dashboard界面的密码;由于官网中所显示的image版本已经发生变化,这里就用Fedora-x86_64-20-20140618-sda镜像;key_name字段所填入内容为步骤1中所创建key_pair的名字,为heat_key。
其余字段在模板文件中已经写好,不需要改动,单击Launch。
图7(模板信息内容界面)
4.3.4完成之后可以看到如图8所示的界面,可以看到创建已经完毕。
图8(stack创建结果)
4.3.5单击stack的名字teststack之后可以看到该stack具体信息
进入event选项后可以看到如图9所示界面,可以看到stack的创建有两个状态,一个是CreateInProgress,这个状态持续十几秒之后就会出现第二个状态(一般来说每个stack的创建都会有这两个状态,但是不同模板的stack的createinprogress时间不一样),即CreateComplate状态。
图9(stack实例Events信息)
4.3.6再单击Oerview选项后可以看到模板的详细信息
如图10所示。
可以看到返回的wordpress链接地址信息以及其他一些基本信息(模板中output部分)。
等云主机创建好并部署好wordpress应用之后就可以通过这个链接地址访问。
图10(stack详细信息)
4.3.7接着进入Compute下面的Instances选项,可以看到之前创建的stack中创建出来的虚拟机,如图11所示。
图11(instance信息)
4.3.8单击该虚拟机的名字进入该虚拟机的详细信息界面,如图12所示。
图12(instance详细信息)
4.3.9单击Log选项进入创建过程日志,可以看到整个创建过程的日志,如图13所示。
图13(日志界面)
4.4在等待创建完毕的过程中可以通过终端去wget该wordpress应用地址,以便于我们知道该应用的地址是否能够被访问。
结果如图14所示:
图14(终端测试)
4.5最后可以通过浏览器去访问该wordpress应用。
4.5.1在浏览器中输入创建stack过程中返回的链接地址,在本例中是http:
//10.0.0.5/wordpress,结果如图15所示,可以看到正在加载的界面。
加载完毕的界面如图16所示。
图15(wordpress界面加载)
图16(加载完毕)
4.5.2在加载完毕的界面中输入相应的信息(标题、用户名、密码以及邮箱),如图17所示,然后单击InstallWordPress就可以安装这个应用了。
安装完毕的界面如图18所示
图17(输入信息)
图18(安装完毕)
4.5.3接着单击LogIn登录界面如图19所示,输入相应的用户名和密码(步骤5.2中的信息)登录进去。
图19(登录界面)
4.5.4登录进去之后可以看到整个wordpress的界面,如图20所示,至此,整个stack的创建和应用的安装结束。
图20(wordpress应用界面)
5数据库展示
数据库的展示就用命令从终端查看,截图如图21:
图21(数据库展示)
6如何进行debug
6.1首先在ubuntu中安装eclipse,并配置好PyDev,然后新建一个PyDev项目,如图22所示:
图22(创建PyDev项目)
6.2创建好一个项目后将stack目录下的heat目录中的所有文件拷贝到heat项目中,如图23所示:
图23(heat项目代码框架)
6.3从终端查看heat服务,ps-ef|grepheat,如图24所示:
图23(终端查看服务)
6.4然后将heat-api服务对应的进程kill,然后从dashboard中查看stack-list,可以看到无法查看,证明服务已经被关闭,如图24所示:
图24(查看stacklist)
6.5然后在eclipse中启动heat-api,如图25所示:
图25(eclipse启动heat服务)
6.6然后在dashboard中继续查看heat服务是否启动成功,如图26所示:
图26(dashboard界面查看heat服务是否启动)
7Heat中template介绍
7.1template的formatversion介绍
template中有三个formatversion,第一种是aws的格式,表示这是一个json文件;第二种是heat为了扩展aws并且更好的加入注释,引入的yaml格式文件;第三种是openstack的heat特有的hot格式的头部,也是基于yaml格式的。
"AWSTemplateFormatVersion":
"2010-09-09"
"HeatTemplateFormatVersion":
"2012-12-12"
"heat_template_version":
"2013-05-23"
7.2template的form
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- openstack Heat 说明 文档