分享

OpenStack Heat服务再介绍 (二)

问题导读:
1、与Heat交互的模块有哪些?


2、Stack管理的是什么服务?




Heat的安装,配置以及核心概念
11.png

Heat作为相对独立的模块建立在其他模块之上。Havana版中主要与Heat交互的模块是Nova和Ceilometer。下一版本IceHouse还会有Swift,Glance, Neutron。


安装和配置篇
推荐的安装方式是用Redhat的packstack或Ubuntu的Juju直接安装,因为Heat在Havana 版本已经是正式的模块了。我主要用的是Redhat RDO,所以一条命令就能搞定。
  1. packstack--install-hosts=x.x.x.x,x.x.x.x--os-heat-install=y
复制代码

如果你是在Grizzly版上装就只能手动安装了。
  1. gitclone git://github.com/openstack/heat.git
  2. cd heat; gitcheckout remotes/origin/stable/grizzly
  3. git checkout–b grizzly
  4. yum install -y libxslt-develpython-devel gcc python-pip
  5. pythonsetup.py install
  6. ./install.sh
复制代码


配置Heat
1、yum install -ypython-paste-deploy.noarch python-routes.noarch
2、source/root/keystonerc_admin
3、打开heat/bin/heat-keystone-setup,修改201行:
  1. SERVICE_TENANT=$(get_data 2 service 1keystone tenant-list)
  2. to:
  3. SERVICE_TENANT=$(get_data 2 services 1keystone tenant-list)
复制代码

4、执行heat/bin/heat-keystone-setup,创建heat用户
5、'catpackstack-answers-20130912-124830.txt |grep MYSQL'. 拿到mysql的密码,这个用来创建heat的数据库.
  1. CONFIG_MYSQL_PW=4ad9837a8e5e473a
复制代码

6、heat/bin/heat-db-setup rpm. 脚本会让你输入密码,在这个例子里面密码就是 '4ad9837a8e5e473a'.
  1. Installing on an RPM system.
  2. Please enter the password for the 'root' MySQL user:
  3. Verified connectivity to MySQL.
  4. Creating 'heat' database.
  5. /usr/lib64/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-x86_64.egg/sqlalchemy/pool.py:683:SADeprecationWarning: The 'listeners' argument to Pool (and create_engine()) isdeprecated.  Use event.listen().
  6.   Pool._init_(self,creator, **kw)
  7. /usr/lib64/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-x86_64.egg/sqlalchemy/pool.py:159:SADeprecationWarning: Pool.add_listener is deprecated.  Use event.listen()
  8.   self.add_listener(l)
复制代码

7.配置
  1. `cat keystonerc_admin |grep OS_PASSWORD`, 修改/etc/heat/heat-api-paste.ini:
  2. admin_tenant_name= services <-- orignial it is 'service'
  3. admin_password =7d1642ae2c1c4aff
复制代码

8. 修改/etc/heat/heat-api-cfn-paste.ini,/etc/heat/heat-api-cloudwatch-paste.ini里的admin_tenant_name and admin_password.

9. 把heat-engine.conf中的heat_metadata_server_url,heat_waitcondition_server_url, heat_watch_server_url从127.0.0.1改成你机器的外网ip

10. yum install -y python-heatclient

11. 启动Heat:
  1. heat-api &
  2. heat-engine &
  3. heat-api-cfn &
  4. heat-cloud-watch &
复制代码


启动第一个stack
Stack这个概念来源于AWS,Stack管理的是resource。而resource是个抽象的概念,它可以是虚拟机,可以是网络等等。Stack就是Heat管理应用程序的逻辑单元。
1. 从http://fedorapeople.org/groups/heat/prebuilt-jeos-images/中下载F17-x86_64-cfntools.qcow2, 然后用glance把它导入:
  1. glanceimage-create --name=F17-x86_64-cfntools --disk-format=qcow2--container-format=bare < /var/lib/libvirt/images/F17-x86_64-cfntools.qcow2
复制代码

2. 通过Horizon或者命令行注册一个SSH key-pair,下面的例子生成root_key
  1. novakeypair-add --pub_key ~/.ssh/id_rsa.pub root_key
复制代码

3. git clone [img]https://github.com/openstack/heat-templates.git'Description:http://wikicentral.cisco.com/images/icons/linkext7.gif[/img], 从这里可以下载很多heat的参考模版

4. 创建名为demo的Stack
  1. heatstack-create demo --template-file=/root/heat-templates/cfn/F17/getting_started.template --parameters="KeyName=root_key"
复制代码

5. 观察stack启动的状态
  1. # heat list
  2. +--------------------------------------+------------+-----------------+----------------------+
  3. | id                                   | stack_name | stack_status    | creation_time        |
  4. +--------------------------------------+------------+-----------------+----------------------+
  5. | 543b64c7-3165-4939-a249-ba68d8cb54b0 | demo       | CREATE_COMPLETE | 2013-10-21T10:03:06Z |
  6. +--------------------------------------+------------+-----------------+----------------------+
复制代码
  1. heat resource-list 543b64c7-3165-4939-a249-ba68d8cb54b0
  2. +---------------------+---------------------------------------+-----------------+----------------------+
  3. | logical_resource_id | resource_type                         | resource_status | updated_time         |
  4. +---------------------+---------------------------------------+-----------------+----------------------+
  5. | JsmLaunchConfig     | AWS::AutoScaling::LaunchConfiguration | CREATE_COMPLETE | 2013-10-21T10:03:06Z |
  6. | CfnUser             | AWS::IAM::User                        | CREATE_COMPLETE | 2013-10-21T10:03:07Z |
  7. | VcsKeys             | AWS::IAM::AccessKey                   | CREATE_COMPLETE | 2013-10-21T10:03:17Z |
  8. | CPUAlarmHigh        | AWS::CloudWatch::Alarm                | CREATE_COMPLETE | 2013-10-21T10:03:35Z |
  9. | CPUAlarmLow         | AWS::CloudWatch::Alarm                | CREATE_COMPLETE | 2013-10-21T10:03:35Z |
  10. | JsmScaleUpPolicy    | AWS::AutoScaling::ScalingPolicy       | CREATE_COMPLETE | 2013-10-21T11:13:20Z |
  11. | VM                  | AWS::AutoScaling::AutoScalingGroup    | CREATE_COMPLETE | 2013-10-21T11:18:55Z |
  12. | JsmScaleDownPolicy  | AWS::AutoScaling::ScalingPolicy       | CREATE_COMPLETE | 2013-10-28T12:52:40Z |
  13. +---------------------+---------------------------------------+-----------------+----------------------+
复制代码




上一篇:
OpenStack中的Heat分析


已有(4)人评论

跳转到指定楼层
about_engine 发表于 2014-6-23 16:26:33
回复

使用道具 举报

auferack08 发表于 2014-7-17 17:09:23
就这么多吗?没了?
回复

使用道具 举报

lbwahoo 发表于 2014-7-17 21:21:48
就这么多吗?没了?
回复

使用道具 举报

lbwahoo 发表于 2014-7-17 21:22:21
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条