Heat是 OpenStack 提供的自動編排功能的組件,基於描述性的模板,來編排復合雲應用程序。Heat 采用了模板方式來設計或者定義編排,為方便用戶使用,Heat 還提供了大量的模板例子,使用戶能夠方便地得到想要的編排
heat_template_version: 2014-10-16 resources: nova_flavor: type: OS::Nova::Flavor properties: name: m1.flavor disk: 20 is_public: True ram: 1024 vcpus: 2 flavorid: 1234
創建Net
編寫Heat模板create_net.yaml,創建名為Heat-Network網絡,選擇不共享;
創建子網名為Heat-Subnet,子網網段設置為10.20.2.0/24,開啟DHCP服務,地址池為10.20.2.20-10.20.2.100heat_template_version: 2014-10-16 resources: network_1: type: OS::Neutron::Net properties: admin_state_up: true name: Heat-Network shared: false subnet_1: type: OS::Neutron::Subnet properties: allocation_pools: - end: 10.20.2.100 start: 10.20.2.10 cidr: 10.20.2.0/24 enable_dhcp: true host_routes: [] name: Heat-Subnet network_id: get_resource: network_1
創建volume
編寫Heat模板create_volume.yaml,大小為10G
heat_template_version: 2014-10-16 resources: my_new_volume: type: OS::Cinder::Volume properties: size: 10
創建server
編寫Heat模板create_server.yaml,鏡像為cirros,網絡為extnet
heat_template_version: 2013-05-23 description: Test Template resources: myserver: type: OS::Nova::Server properties: name: "Test Heat server" image: { get_param: Image } flavor: "2" networks: - network: { get_param: Net } parameters: Image: type: string description: Image use to boot a server default: Net: type: string description: Network ID for the server default: outputs: myserver_private_ip: description: IP address of the server in the private network value: { get_attr: [ myserver, first_address ] } # heat stack-create -f create_server.yaml -P Image=cirros -P Net=extnet myserver
