帶有環(huán)境文件的OpenStack Heat示例
要以更靈活的方式處理參數(shù),管理員可以使用OpenStack Heat環(huán)境文件。然后,通過(guò)heat命令將HOT和環(huán)境文件一起處理。在模板本身中,管理員設(shè)置變量來(lái)引用特定參數(shù),并且可以在HOT本身中(在下面清單1的示例中是這樣)或者環(huán)境文件中定義這些參數(shù)。
在這個(gè)例子中,你可以看到變量是通過(guò)用大括號(hào)括起來(lái)而引用的:{get_resource:volume}。
這表示后面管理員在模板文
OpenStack Heat模板以YAML編寫,其中的所有內(nèi)容都以YAML格式傳遞。這包括模板文件本身,以及需要在件中定義的卷參數(shù)。資源一詞是指特定的OpenStack組件,如管理員想要部署的計(jì)算實(shí)例和安全組。
清單1:HOT內(nèi)容樣本
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
當(dāng)管理員在環(huán)境文件中定義和使用其他參數(shù)時(shí),OpenStack Heat具有更大的靈活性,特別是在增加可擴(kuò)展性的情況下。要部署帶有HOT和環(huán)境文件的私有云堆棧,請(qǐng)運(yùn)行heat命令,如heat stack-create -r -f my-template.yaml -e my-env.yaml my-stack。這里,-f選項(xiàng)指的是HOT,-e選項(xiàng)是指環(huán)境文件。
環(huán)境文件不是增加靈活性的唯一選擇;管理員還可以使用帶有-P key = value argument的heat命令來(lái)包含特定的參數(shù)。