微信号:openstackcn

介绍:为OpenStack技术研究与业内人员提供有关OpenStack最新技术信息与市场咨询.

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

2017-08-10 07:32 Jonathan Zhang

OpenStack Heat是该开源云平台中的编排组件。管理员可以使用Heat部署一个完整的、由任意数量的虚拟机和相关配置组成的云堆栈要使用OpenStack Heat部署堆栈,管理员需要以Heat Object Template格式创建模板。

OpenStack Heat模板以YAML编写,其中的所有内容都以YAML格式传递。这包括模板文件本身,以及需要在Heat Object Template(HOT)中处理的其他属性。管理员可以以包含所有必需参数的静态方式编写模板文件,但是对于在不断变化的环境(如OpenStack)中的堆栈部署来说,这种方法不够灵活。


带有环境文件的OpenStack Heat示例

要以更灵活的方式处理参数,管理员可以使用OpenStack Heat环境文件。然后,通过heat命令将HOT和环境文件一起处理。在模板本身中,管理员设置变量来引用特定参数,并且可以在HOT本身中(在下面清单1的示例中是这样)或者环境文件中定义这些参数。



在这个例子中,你可以看到变量是通过用大括号括起来而引用的:{get_resource:volume}。

这表示后面管理员在模板文件中定义的卷参数。资源一词是指特定的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命令来包含特定的参数。



编译:Jonathan Zhang

作者Uday Boppana

来源:http://searchcloudcomputing.techtarget.com/answer/Infuse-more-flexibility-into-OpenStack-Heat-templates


投稿邮箱:openstackcn@sina.cn


 
开源云中文社区 更多文章 以Ceph为代表的对象存储势不可挡 OpenStack基金会回复社区征集问题 谈与容器微妙关系 OpenStack课堂:新教程和新方法 如何在AWS和OpenStack上安装Cloudify 4 了解OpenStack的经济学
猜您喜欢 Redis中的LRU数据淘汰算法 (54) 剖析Collections - 设计模式 \/ 计算机程序的思维逻辑 阿里巴巴数据中心获两项DCD大奖 求敏感度(Greeks或Sensitivities)的常用算法 WebView 开发的那些坑