1

我正在尝试使用 openstack HEAT 创建一个堆栈,其中一个 VM(NOVA::Server)需要有2 个网络接口

所以在我的热门模板中,我创建了 2 个端口并将它们关联到NOVA::Server其中一个并为其中一个提供浮动 IPgw_float_port

....
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
           ....

我想知道的是如何将 NICifconfig与模板中的 NIC 映射并控制哪个获得浮动 IP?

在模板内(在创建堆栈时自动创建而不是在创建后手动操作

感谢您提前提供帮助。

4

1 回答 1

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"}
于 2018-10-24T12:03:13.857 回答