我正在尝试使用openstack HEAT创建堆栈,其中一个VM(NOVA::Server
)需要具有 2个网络接口
因此在我的热模板中,我创建了2个端口,并将它们与NOVA::Server
关联,并为其中一个gw_float_port
提供了浮动IP
....
gw_instance:
type: "OS::Nova::Server"
properties:
key_name: { get_param: key_name }
image: { get_param: image_id }
flavor: { get_param: instance_type }
user_data:"#!/bin/sh \necho \"Starting the OVS setup!\""
user_data_format: RAW
networks:
- port: {get_resource: gw_float_port}
- port: {get_resource: gw_ovs_port }
gw_float_port:
type: "OS::Neutron::Port"
properties:
network_id: {get_resource: "private_net"}
gw_ovs_port:
type: "OS::Neutron::Port"
properties:
network_id: {get_resource: "private_net"}
floating_ip:
type: "OS::Neutron::FloatingIP"
properties:
floating_network_id: {get_param: "public_network"}
port_id: {get_resource: "gw_float_port"}
....
当我在VM内执行ifconfig
时,我得到以下信息:
ens3 Link encap:Ethernet HWaddr fa:16:3e:76:98:82
inet addr:10.4.0.47 Bcast:10.4.0.255 Mask:255.255.255.0
....
ens4 Link encap:Ethernet HWaddr fa:16:3e:11:9f:ed
BROADCAST MULTICAST MTU:1500 Metric:1
....
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
....
我想知道的是如何将ifconfig
中的NIC与模板中的NIC映射并控制哪个人获得浮动IP?
在模板内(在创建堆栈时自动创建,创建后无需手动操作)
感谢您的提前帮助。
答案 0 :(得分:0)
浮动IP设置为gw_float_port(NIC)端口
您知道这一点是因为您在FloatingIP资源上设置了port_id
floating_ip:
type: "OS::Neutron::FloatingIP"
properties:
floating_network_id: {get_param: "public_network"}
port_id: {get_resource: "gw_float_port"}
这是执行关联的行
port_id: {get_resource: "gw_float_port"}