我正在尝试使用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"}
....
当我在虚拟机中执行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?
在模板内(创建堆栈时自动,创建后无需手动操作(
谢谢你事先的帮助。
浮动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"}