您当前的位置是:  首页 > 新闻 > 文章精选 >
 首页 > 新闻 > 文章精选 >

以更灵活的方式来用OpenStack Heat模板

2017-08-10 10:07:40   作者:Jonathan Zhang   来源:开源云中文社区   评论:0  点击:


  OpenStack Heat是该开源云平台中的编排组件。管理员可以使用Heat部署一个完整的、由任意数量的虚拟机和相关配置组成的云堆栈。要使用OpenStack Heat部署堆栈,管理员需要以Heat Object Template格式创建模板。Heat Object Template(HOT)中处理的其他属性。管理员可以以包含所有必需参数的静态方式编写模板文件,但是对于在不断变化的环境(如OpenStack)中的堆栈部署来说,这种方法不够灵活。
  带有环境文件的OpenStack Heat示例
  要以更灵活的方式处理参数,管理员可以使用OpenStack Heat环境文件。然后,通过heat命令将HOT和环境文件一起处理。在模板本身中,管理员设置变量来引用特定参数,并且可以在HOT本身中(在下面清单1的示例中是这样)或者环境文件中定义这些参数。
  在这个例子中,你可以看到变量是通过用大括号括起来而引用的:{get_resource:volume}。
  这表示后面管理员在模板文
  OpenStack Heat模板以YAML编写,其中的所有内容都以YAML格式传递。这包括模板文件本身,以及需要在件中定义的卷参数。资源一词是指特定的OpenStack组件,如管理员想要部署的计算实例和安全组。
  清单1:HOT内容样本
  heat_template_version: 2014-10-16
  description: A simple server
  resources:
  server:
  type: OS::Nova::Server
  properties:
  block_device_mapping:
  - device_name: vda
  delete_on_termination: true
  volume_id: { get_resource: volume }
  flavor: m1.nano
  networks:
  - network: internal001
  user_data_format: RAW
  user_data: |
  #!/bin/sh
  while [ 1 ]; do echo $((13**99)) 1>/dev/null 2>&1; done
  volume:
  type: OS::Cinder::Volume
  properties:
  image: 'Cirros 0.3.4'
  size: 1
  当管理员在环境文件中定义和使用其他参数时,OpenStack Heat具有更大的灵活性,特别是在增加可扩展性的情况下。要部署带有HOT和环境文件的私有云堆栈,请运行heat命令,如heat stack-create -r -f my-template.yaml -e my-env.yaml my-stack。这里,-f选项指的是HOT,-e选项是指环境文件。
  环境文件不是增加灵活性的唯一选择;管理员还可以使用带有-P key = value argument的heat命令来包含特定的参数。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题