Openstack组件heat介绍(一)

          Heat组件是openstack的孵化组件之一,有时也称为Orchestration Service。它的主要功能是自动化部署应用,自动化管理应用的整个生命周期。对于云计算来说,自动化管理是一个必不可少的部分,heat就是这部分功能的实现。AWS的EC2是通过提供CloudFormation格式的模板来实现Orchestration。Heat不仅100%兼容CloudFormation格式,同时支持自己的Hot(heat orchestration template)格式。

     Heat可以看作是解决客户PaaS层的需求。Openstack作为云平台是需要让应用程序能够部署和运行的,heat提供了框架来解决这一问题。从下图可以看出,利用包含heat的openstack就可以完整的实现一个从IaaS到PaaS,从云基础设施硬件环境到云应用的软件运行环境的整体的部署和运行。可以说有了heat,openstack就是一个完整的应用了。对于heat的功能和实现,简单来说就是用户预先定义一个规定格式的任务模板,任务模板中定义了一连串的相关任务(例如用某配置开几台虚拟机,然后再其中一台安装一个mysql服务,设定相关的数据库属性,然后再配置几台虚拟机安装web服务集群等等),然后将模板交由heat执行,heat就会按一定得顺序执行heat模板中定义的一连串任务。


       Heat作为相对独立的模块建立在其它模块之上。Havana版中主要与heat交互的模块是nova和ceilometer。

      本文先讲一下heat的安装和配置。这里主要讲的是在redhat环境中利用packstack进行heat的安装和配置。在suse环境的安装欢迎大家补充。因为heatz在Havana版本中已经是正式的模块了。所以,一条命令就能搞定。

        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:
    SERVICE_TENANT=$(get_data 2 service 1keystone tenant-list)
    to:
    SERVICE_TENANT=$(get_data 2 services 1keystone tenant-list)

  4. heat/bin/heat-keystone-setupheat

  5. 'catpackstack-answers-20130912-124830.txt |grep MYSQL'. 拿到mysql的密个用来创建heat的数据.

    CONFIG_MYSQL_PW=4ad9837a8e5e473a

  6. heat/bin/heat-db-setup rpm. 脚本会入密,在个例子里面密码就 '4ad9837a8e5e473a'.

  7.

1
`cat keystonerc_admin |grep OS_PASSWORD`, 修改/etc/heat/heat-api-paste.ini:

admin_tenant_name= services <-- orignial it is 'service'
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_url127.0.0.1改成你机器的外网ip

  10. yum install -y python-heatclient

  11. Heat:

heat-api &

heat-engine &

heat-api-cfn &

heat-cloud-watch &

       heat的组件包括heat-api, heat-api-cfn, heat-engin。heat-api为所有的外部调用提供服务,提供openstack-native ReST API,处理用户请求并通过RPC发送请求消息至heat-engin。heat-api-cfn为所有外部调用提供服务,提供AWS-style QueryAPI(兼容AWS CloudFormation接口),处理用户请求并通过RPC发送请求消息至heat-engin。heat-engin是heat组件的工作主体,用户请求消息的核心处理中心,包括对heat各类资源的确认,创建,更新,删除,以及对每个资源的状态变更的事件追踪。

OpenStack个开源的云计算平台,由系列组件组成。以下是对些常见的OpenStack组件介绍: 1. Nova:Nova是OpenStack的计算服务组件,用于管理和调度虚拟机实例。它提供了API和控制面板,用于创建、更新和删除虚拟机,并监控它们的资源使用情况。 2. Neutron:Neutron是OpenStack的网络服务组件,负责虚拟网络的管理。它可以创建和管理虚拟网络、网络子网以及虚拟机之间的网络连接。 3. Cinder:Cinder是OpenStack的块存储服务组件,用于提供持久化存储。它可以创建和管理块存储卷,并将其附加到虚拟机实例。 4. Swift:Swift是OpenStack的对象存储服务组件,用于存储和检索非结构化的数据。它采用分布式架构,可以在多个存储节点之间存储和复制数据,提供高可靠性和可扩展性。 5. Glance:Glance是OpenStack的镜像服务组件,用于管理虚拟机镜像。它可以上传、下载和删除镜像,并为虚拟机实例提供镜像服务。 6. Keystone:Keystone是OpenStack的身份认证服务组件,负责为整个OpenStack平台提供身份验证和授权。它管理用户、角色和项目,并为其他组件提供认证和授权服务。 以上只是OpenStack的部分组件介绍,还有其他组件如Horizon(OpenStack的Web控制台)、HeatOpenStack的编排服务组件)等。通过使用这些组件OpenStack可以提供完整的云计算解决方案,包括计算、网络、存储等功能,使用户能够方便地构建和管理自己的私有云环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值