openstack中Heat说明文档.docx

上传人:b****1 文档编号:2088920 上传时间:2023-05-02 格式:DOCX 页数:34 大小:1.39MB
下载 相关 举报
openstack中Heat说明文档.docx_第1页
第1页 / 共34页
openstack中Heat说明文档.docx_第2页
第2页 / 共34页
openstack中Heat说明文档.docx_第3页
第3页 / 共34页
openstack中Heat说明文档.docx_第4页
第4页 / 共34页
openstack中Heat说明文档.docx_第5页
第5页 / 共34页
openstack中Heat说明文档.docx_第6页
第6页 / 共34页
openstack中Heat说明文档.docx_第7页
第7页 / 共34页
openstack中Heat说明文档.docx_第8页
第8页 / 共34页
openstack中Heat说明文档.docx_第9页
第9页 / 共34页
openstack中Heat说明文档.docx_第10页
第10页 / 共34页
openstack中Heat说明文档.docx_第11页
第11页 / 共34页
openstack中Heat说明文档.docx_第12页
第12页 / 共34页
openstack中Heat说明文档.docx_第13页
第13页 / 共34页
openstack中Heat说明文档.docx_第14页
第14页 / 共34页
openstack中Heat说明文档.docx_第15页
第15页 / 共34页
openstack中Heat说明文档.docx_第16页
第16页 / 共34页
openstack中Heat说明文档.docx_第17页
第17页 / 共34页
openstack中Heat说明文档.docx_第18页
第18页 / 共34页
openstack中Heat说明文档.docx_第19页
第19页 / 共34页
openstack中Heat说明文档.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

openstack中Heat说明文档.docx

《openstack中Heat说明文档.docx》由会员分享,可在线阅读,更多相关《openstack中Heat说明文档.docx(34页珍藏版)》请在冰点文库上搜索。

openstack中Heat说明文档.docx

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][-e][-u][-o]

[-c][-t][-a][-r]

[-P]

使用栈

heatstack-create[-f][-e][-u][-o]

[-c][-t][-r]

[-P]

创建一个栈

heatstack-delete[...]

删除一个栈

heatstack-list[-s][-f][-l]

[-m][-g]

列出用户所有的栈

heatstack-preview[-f][-e][-u][-o]

[-P]

预览栈

heatstack-show

描述栈

heatstack-update[-f][-e][-u][-o]

[-t][-r][-P]

更新栈

heattemplate-show

得到某个具体的栈的模板

heattemplate-validate[-u][-f][-e]

[-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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2