Heat入門第一步
Heat 類似於AWS的CloudFormation, 是OpenStack Orchestration進程的一個項目,OpenStack Orchestration旨在創建一個人性化的服務去管理整個雲架構,服務和應用的生命週期。heat實現了一種自動化的通過簡單定義和配置就能實現的雲部署方式。可以在heat模板中定義連串相關任務(例如用某配置開幾臺虛擬機,然後再去在其中一臺中安裝一個mysql服務,設定相關數據庫屬性,然後再配置幾臺虛擬機安裝web服務集羣等等),然後交由heat,由heat按照一定的順序執行heat模板中定義的一連串任務。利用heat還可以連接到neutron來幫助編排負載均衡和其他網絡功能。
學習heat主要學習heat的template,heat的template描述了所用的所有組件資源以及組件資源之間的關係。 這些資源包括:servers,floating ips, volumes, security groups, users and others. Heat管理這些組件的生命週期,當你需要對現在的部署做一些修改的時候,你只需要對template做一些修改即可。Heat還可以與其他軟件管理工具集成比如Puppet以及chef。
安裝Heat
選擇一個VM鏡像,可以選擇 http://cloud.fedoraproject.org/fedora-20.x86_64.qcow2F20,它包含了heat-cfntools包,當運行./stack.sh的時候Heat將會被加載到screen中前綴是h-. 假如需要使用Ceilometer Alarms功能你需要添加Ceilometer功能。需要做的是在devstack的localrc文件中添加如下:
首先下載devstack
#git clone https://github.com/openstack-dev/devstack.git
然後準備localrc如下,靈活選擇你感興趣的項目,做減法處理。注意假如你的環境在proxy後面,而proxy又不支持git時,可以將stackrc中的GIT_BASE=${GIT_BASE:-git://git.openstack.org}改爲GIT_BASE=${GIT_BASE:-https://github.com}
一切準備就緒,最好先update&upgrade一下,然後運行./stack.sh 可以部署openstack環境了。
模板
https://github.com/openstack/heat-templates 提供一些templates參考例子來展示heat的一些核心功能。heat目前支持兩種模板: 與CloudFormatior兼容的cnf目錄下的模板以及自研的在hot目錄下的HOT模板。 HOT模板基於YAML來展示,下面僅研究HOT模板。
寫一個HOT hello world 模板
hello template file:
“heat_template_version: 2013-05-23” 是必須制定的,標識當前heat的模板版本。Resources是必須的,其中一個resources內必須至少包含一個resource定義,在該例子中的key_name, image以及flavor都是hardcoded,該問題可以通過input parameters解決。
查找上面模板相關參數的CLI過程如下:
部署模板的CLI過程如下:
去硬編碼,使模板更加靈活,需要加入parameters屬性,這樣調用模板時,可以輸入相關參數,hello帶input的模板如下:
執行如下:
學習heat主要學習heat的template,heat的template描述了所用的所有組件資源以及組件資源之間的關係。 這些資源包括:servers,floating ips, volumes, security groups, users and others. Heat管理這些組件的生命週期,當你需要對現在的部署做一些修改的時候,你只需要對template做一些修改即可。Heat還可以與其他軟件管理工具集成比如Puppet以及chef。
安裝Heat
選擇一個VM鏡像,可以選擇 http://cloud.fedoraproject.org/fedora-20.x86_64.qcow2F20,它包含了heat-cfntools包,當運行./stack.sh的時候Heat將會被加載到screen中前綴是h-. 假如需要使用Ceilometer Alarms功能你需要添加Ceilometer功能。需要做的是在devstack的localrc文件中添加如下:
首先下載devstack
#git clone https://github.com/openstack-dev/devstack.git
然後準備localrc如下,靈活選擇你感興趣的項目,做減法處理。注意假如你的環境在proxy後面,而proxy又不支持git時,可以將stackrc中的GIT_BASE=${GIT_BASE:-git://git.openstack.org}改爲GIT_BASE=${GIT_BASE:-https://github.com}
一切準備就緒,最好先update&upgrade一下,然後運行./stack.sh 可以部署openstack環境了。
模板
https://github.com/openstack/heat-templates 提供一些templates參考例子來展示heat的一些核心功能。heat目前支持兩種模板: 與CloudFormatior兼容的cnf目錄下的模板以及自研的在hot目錄下的HOT模板。 HOT模板基於YAML來展示,下面僅研究HOT模板。
寫一個HOT hello world 模板
hello template file:
“heat_template_version: 2013-05-23” 是必須制定的,標識當前heat的模板版本。Resources是必須的,其中一個resources內必須至少包含一個resource定義,在該例子中的key_name, image以及flavor都是hardcoded,該問題可以通過input parameters解決。
查找上面模板相關參數的CLI過程如下:
部署模板的CLI過程如下:
去硬編碼,使模板更加靈活,需要加入parameters屬性,這樣調用模板時,可以輸入相關參數,hello帶input的模板如下:
執行如下:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.