■
最近OpenStackでインスタンス50台規模の構築が必要になったので、Heatを勉強し始めた
とりあえず下の設定でインスタンス1台上げることができた。1度覚えてしまえばあとは楽だから頑張りたい。
heat_template_version: 2015-04-30 description: Simple template to deploy a single compute instance ## パラメータ定義 # Image: type: string label: Image Name default: CentOS-6.5 ~~他のパラメータ定義は省略~~ ## ## 共通の定義 # ネットワークのリソース定義 network: type: OS::Neutron::Net properties: name: { get_param: NetworkName } # サブネットワークのリソース定義 subnetwork: type: OS::Neutron::Subnet properties: name: { get_param: SubnetName } network: { get_resource: network } cidr: { get_param: SubnetCidr } # ルータのリソース定義 router: type: OS::Neutron::Router properties: distributed: True name: { get_param: RouterName } external_gateway_info: { "network": "net04_ext" } # ルータに割り当てるインタフェースのリソース定義 router_interface: type: OS::Neutron::RouterInterface properties: router_id: { get_resource: router } subnet_id: { get_resource: subnetwork } ## ## インスタンスに関する定義 # Novaのインスタンスに関するリソース定義 instance: type: OS::Nova::Server depends_on: instance_port properties: name: { get_param: InstanceName } image: { get_param: Image } flavor: { get_param: flavor } availability_zone: { get_param: Az } networks: - port: { get_resource: instance_port } # インスタンスに割り当てるポートのリソース定義 instance_port: type: OS::Neutron::Port properties: network_id: { get_resource: network } security_groups: [{ get_param: SecurityGroup }] # インスタンスに割り当てるフローティングIPの定義(使わないならなくてもいい) instance_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: "net04_ext" port_id: { get_resource: instance_port } ##