用OpenStack Heat模板设置私有IaaS

业务流程是Iaas云的重要组成部分,可以帮助管理员更容易的进行部署。

诸如OpenStack的Iaas云应该是动态的。如果管理员需要手动创建云结点、实例和网络,那就完全没有利用云计算的灵活性。

像大多数被认为是OpenStack云的基本功能,流程作为独立组件包含在OpenStack中,被称作为Heat。如果你选择了开源的 OpenStack云架构,预计大部分功能会以这种方式实现。Heat被设计为创造人类和机器可访问的服务,管理云中的基础设施与应用程序完整生命周期。

Heat通过模版实现业务流程引擎。

将物理数据中心转换为OpenStack云,需要物理到虚拟的迁移计划和工具。Heat在理论上是可以使用的,但不是以业务流程引擎为预期目的。Heat 模版最适合部署相似的服务器。他们允许IT实现从旧数据中心到软件定义数据中心的过渡迁移:这通常意味着全新的架构,可以享受云架构带来的灵活性。

OpenStack Heat模版实际上与AWS CloudFormation模版格式的完全兼容,OpenStack数据中心内的实例都经过特定的配置。只要AWS和OpenStack实例的功能兼容,混合公有-私有云迁移是可以实现的。但OpenStack也不是100%能够兼容AWS的。

Heat模版在一个文本文件中描述了需要的内容,方面人员进行读写(见下述范例)。选项包括不同类型的基础设施资源,如服务器、浮动IP地址、卷、用户等等。模版同样可以管理这些资源之间的关系,还可以通过自动化实现复杂配置。

Heat并不只是创建资源;它管理整个资源生命周期。要做到这点,必须紧密与DevOps自动化服务集成,如Puppet与Chef,实现管理不同软件组件的状态。


  1. A sample OpenStack Heat template. 
  2. heat_template_version: 2013-05-23 
  3. description: Simple template to deploy a single compute instance with parameters 
  4. parameters: 
  5. key_name: 
  6. type: string 
  7. label: Key Name 
  8. description: Name of key-pair to be used for compute instance 
  9. image_id: 
  10. type: string 
  11. label: Image ID 
  12. description: Image to be used for compute instance 
  13. instance_type: 
  14. type: string 
  15. label: Instance Type 
  16. description: Type of instance (flavor) to be used 
  17. resources: 
  18. my_instance: 
  19. type: OS::Nova::Server 
  20. properties: 
  21. key_name: { get_param: key_name } 
  22. image: { get_param: image_id } 
  23. flavor: { get_param: instance_type } 

范例中部署了一个虚拟机实例。Heat模版由两部分组成。一部分定义了参数,包括key_name、image、和instance_type。第二部分定义了通过该模版管理的资源,本例中为my_instance。为了管理这个资源,需要在一开始定义三个被成为属性的参数。在这里get_param语句定义了所有需要的属性数值。

这个OpenStack Heat是可用的,但对于需要定义成百上千OpenStack实例的管理员来说,并不会太有效果。参数值要求一个接着一个,最后实现大规模部署,这也是云计算资源通常的目标,是一个缓慢的过程。为了使其更快,需要在模版中使用环境文件。这些文件里包括了所有可用参数的数值集。

OpenStack Heat友好度如何?

虽然Heat很容易通过自动化工具实现有效和简单管理,但却不是特别方便用户使用。管理员不喜欢手动处理含有大量需求配置为ASCII文件。他们还有许多不同的选择来让云业务流程管理更轻松。

云业务流程工具目的在于更轻松的管理大规模云。许多公司都试图填补国内云管理空白,包括Cloudyn、Dell和RightScale。

是否还能够从OpenStack社区获得更高的期望呢?可能不会。虽然不是很直观,Heat确实是提供了有效的模版工具来管理云部署。这是一个后端功能,任何用户都可以打造一个灵活的前端接口来管理它。

前端的一个问题在于要如何开发才能让云业务流程更容易:为了更高效,前端工具必须能够访问OpenStack Heat模版中的相同的参数和配置选项,意味着这些解决方案也不见得会简单多少。

本文作者:陈德文

来源:51CTO

时间: 2024-10-27 17:26:00

用OpenStack Heat模板设置私有IaaS的相关文章

OpenStack Heat AutoScaling详解及实例代码_OpenStack

OpenStack Heat AutoScaling 一.背景 Openstack的Heat是在H版之后加入的组件,旨在创建一套业务流程,更轻松的管理一个集群.集群内的虚拟机可以作为一个整体,统一的为客户提供服务.Heat中把功能定义成资源,在Heat中会用到Nova,Neutron,Ceilometer等组件,这些都可以看成是资源,通过模板文件来描述,模板文件可以是yaml格式,也可以是json格式,一般是yaml格式. AutoScaling的概念最早出现在AWS,AutoScaling是一

为什么说产品化是私有IaaS的唯一出路?

本文根据DCOS联盟第5期线上分享整理而成   讲师介绍  张鑫 ZStack总架构师.联合创始人     <系统虚拟化>主要作者,曾任职Intel开源软件技术中心,负责Xen虚拟机开发: 曾任Citrix CloudStack核心开发人员,负责Oracle VM.Barematel.Barematel VPC等核心功能.   主题简介:   服务与产品化--硅谷的选择 为什么IaaS产品化如此重要 IaaS产品化的难点 ZStack如何做产品化   一.服务与产品化--硅谷的选择   大家好

Symfony2框架创建项目与模板设置实例详解_php实例

本文实例讲述了Symfony2框架创建项目与模板设置的方法.分享给大家供大家参考,具体如下: 环境准备与概览 习惯于在windows使用netbean编辑器并使用virtualbox虚拟centos系统, 预将nginx+php-fpm+mysql,  当然apache也是不错的选择,   使用http://symfony在windows与centos上作为开发域名. 一.下载与环境设置 1. 如何于centos上面建立开发环境不再详述, 当然也可以在windows上面建立开发环境. 2. 关于

虚拟机上搭建openstack时,分配私有网络IP池时报错

问题描述 虚拟机上搭建openstack时,分配私有网络IP池时报错 虚拟机上搭建openstack时,分配私有网络IP池时报错,执行的命令:sudo nova-manage network create private 192.168.4.0/24 1 256 报错信息: CRITICAL nova [-] --bridge_interface is required to create a network. 求问有知道的不,谢谢 解决方案 http://www.aboutyun.com/th

Android Studio &quot;佛祖保佑 永无bug&quot; 注释模板设置详解(仅供娱乐)

1.注释模板效果图 今天在网上看到一段有趣的注释,佛祖保佑 永无bug, 效果如下图所示: 代码如下所示: /** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____ * .' \\| |// `. * / \\||| : |||// \ * / _||||| -:- |||||- \ * | | \\\ - /// | | * | \_| ''\---/'' | | * \ .-\__ `

使用OpenStack云操作系统为私有云构建Linux和Windows映像

开源 OpenStack 云操作系统是一个功能丰富且可以大规模扩展的平台,适用于所有类型的云计算.一些公共云服务基于 OpenStack,许多组织内的私有云实现也是如此.但 OpenStack 仍缺乏一些针对私有云的特性,尤其是针对开发和测试环境的特性.例如,映像构建就不是一个简单的过程.本文为 OpenStack 私有云提供一种全新且改进的映像创建方法.我们在 QEMU/KVM 平台上验证了这种新方法,但在理论上该方法也适用于其他虚拟机管理程序平台. 介绍这个新方法之前,我们将概述目前在 Op

Eclipse Java注释模板设置详解

原文:http://blog.csdn.net/ahhsxy/article/details/4542682 设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦.现就每一个元素逐一介绍: 文件(Files)注释标签: /**    * @Title: ${file_name} * @Package ${package_name} * @Descripti

OpenStack实例正确设置九大技巧

在OpenStack的术语中,一个实例就是一台虚拟机,即客机工作负载.它从操作系统镜像中启动,并且配置有特定数量的CPU.RAM和磁盘空间,以及其他参数,例如网络或安全设置. 在红帽资深顾问Marko Myllynen撰写的这篇博文中,我们将探索九个OpenStack配置和优化选项,帮助您的工作负载实现所要求的性能.可靠性和安全性. 无论OpenStack云管理员在您的云环境中启用了什么功能,某些优化可在客机内进行.然而,更先进的选项要求提前启用,而且可能需要特殊的主机能力.这意味着本文介绍的许

Zend studio文件注释模板设置方法_php技巧

步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增.删.改.导入等)管理你的模板.新建文件注释.函数注释.代码块等模板的实例 新建模板,分别输入Name.Description.Pattern a)文件注释 Name: 3cfileDescription: tkyouxi.com文件注释模板 Pattern:/*** tkyouxi.com xx文件* =============================================