您當(dāng)前的位置是:  首頁 > 新聞 > 文章精選 >
 首頁 > 新聞 > 文章精選 >

以更靈活的方式來用OpenStack Heat模板

2017-08-10 10:07:40   作者:Jonathan Zhang   來源:開源云中文社區(qū)   評論:0  點(diǎn)擊:


  OpenStack Heat是該開源云平臺中的編排組件。管理員可以使用Heat部署一個(gè)完整的、由任意數(shù)量的虛擬機(jī)和相關(guān)配置組成的云堆棧。要使用OpenStack Heat部署堆棧,管理員需要以Heat Object Template格式創(chuàng)建模板。Heat Object Template(HOT)中處理的其他屬性。管理員可以以包含所有必需參數(shù)的靜態(tài)方式編寫模板文件,但是對于在不斷變化的環(huán)境(如OpenStack)中的堆棧部署來說,這種方法不夠靈活。
  帶有環(huán)境文件的OpenStack Heat示例
  要以更靈活的方式處理參數(shù),管理員可以使用OpenStack Heat環(huán)境文件。然后,通過heat命令將HOT和環(huán)境文件一起處理。在模板本身中,管理員設(shè)置變量來引用特定參數(shù),并且可以在HOT本身中(在下面清單1的示例中是這樣)或者環(huán)境文件中定義這些參數(shù)。
  在這個(gè)例子中,你可以看到變量是通過用大括號括起來而引用的:{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)境文件的私有云堆棧,請運(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命令來包含特定的參數(shù)。
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點(diǎn)判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

專題