10.4. 网络接口参考
网络接口配置包含以下参数:
interface
定义一个网络接口。配置使用实际接口名称("eth0", "eth1", "enp0s25")或一组数字接口 ("nic1", "nic2", "nic3") 定义各个接口:
- type: interface name: nic2
选项 | 默认 | 描述 |
---|---|---|
name | 接口的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给接口的 IP 地址列表。 | |
Routes | 分配给接口的路由列表。更多信息请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 将接口定义为主接口。 |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于接口的 DNS 服务器列表。 |
ethtool_opts |
将这个选项设置为 |
vlan
定义 VLAN。使用从 parameters
部分传递的 VLAN ID 和子网。
例如:
- type: vlan vlan_id:{get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
选项 | 默认 | 描述 |
---|---|---|
vlan_id | VLAN ID。 | |
device | 附加 VLAN 的父设备。当 VLAN 不是 OVS 网桥的成员时,请使用此参数。例如,使用此参数将 VLAN 附加到绑定接口设备。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给 VLAN 的 IP 地址列表。 | |
Routes | 分配给 VLAN 的路由列表。更多信息请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 定义 VLAN 作为主接口。 |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于 VLAN 的 DNS 服务器列表。 |
ovs_bond
在 Open vSwitch 中定义绑定,将两个或多个 接口
接合在一起。这有助于实现冗余性并增加带宽。
例如:
- type: ovs_bond name: bond1 members: - type: interface name: nic2 - type: interface name: nic3
选项 | 默认 | 描述 |
---|---|---|
name | 绑定的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给绑定的 IP 地址列表。 | |
Routes | 分配给绑定的路由列表。更多信息请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 将接口定义为主接口。 |
成员 | 要在绑定中使用的一系列接口对象。 | |
ovs_options | 创建绑定时传递给 OVS 的一组选项。 | |
ovs_extra | 在绑定的网络配置文件中设置为 OVS_EXTRA 参数的一组选项。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于绑定的 DNS 服务器列表。 |
ovs_bridge
在 Open vSwitch 中定义一个网桥,将多个 interface
, ovs_bond
, 和 vlan
对象连接在一起。
网络接口类型 ovs_bridge
使用 参数名称
。
如果您有多个网桥,则必须使用除接受 bridge_name
的默认名称以外的不同网桥名称。如果您不使用不同的名称,那么在聚合阶段,则会将两个网络绑定放在同一网桥上。
如果您要为外部 tripleo 网络定义 OVS 网桥,则分别保留 bridge_name
和 interface_name
值,作为部署框架,则分别将这些值替换为外部网桥名称和外部接口名称。
例如:
- type: ovs_bridge name: bridge_name addresses: - ip_netmask: list_join: - / - - {get_param: ControlPlaneIp} - {get_param: ControlPlaneSubnetCidr} members: - type: interface name: interface_name - type: vlan device: bridge_name vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
OVS 网桥连接到网络服务(neutron)服务器,以获取配置数据。如果 OpenStack 控制流量(通常是 Control Plane 和 Internal API 网络)放置在 OVS 网桥上,那么当您升级 OVS 时,与 neutron 服务器的连接都会丢失,或者 OVS 网桥由 admin 用户或进程重启。这会导致一些停机时间。如果在这些情况下无法接受停机时间,您必须将控制组网络放在单独的接口或绑定中,而不是在 OVS 网桥上:
- 当您将内部 API 网络放在调配接口上的 VLAN 和 OVS 网桥到第二个接口上时,您可以达到最小的设置。
- 要实现绑定,您需要至少有两个绑定(四个网络接口)。将控制组放在 Linux 绑定(Linux 网桥)上。如果交换机不支持 LACP 回退到单一接口进行 PXE 引导,那么这个解决方案至少需要 5 个 NIC。
选项 | 默认 | 描述 |
---|---|---|
name | 网桥的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给网桥的 IP 地址列表。 | |
Routes | 分配给网桥的路由列表。更多信息请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
成员 | 要在网桥中使用的一系列接口、VLAN 和绑定对象。 | |
ovs_options | 创建网桥时传递给 OVS 的一组选项。 | |
ovs_extra | 在网桥的网络配置文件中,设置为 OVS_EXTRA 参数的一组选项。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 用于网桥的 DNS 服务器列表。 |
linux_bond
定义将两个或者多个 接口
接合在一起的 Linux 绑定。这有助于实现冗余性并增加带宽。确保您在 bonding_options
参数中包含基于内核的绑定选项。
例如:
- type: linux_bond name: bond1 members: - type: interface name: nic2 primary: true - type: interface name: nic3 bonding_options: "mode=802.3ad"
请注意,nic2
使用 primary: true
来确保绑定使用 nic2
的 MAC 地址。
选项 | 默认 | 描述 |
---|---|---|
name | 绑定的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给绑定的 IP 地址列表。 | |
Routes | 分配给绑定的路由列表。请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
primary | False | 将接口定义为主接口。 |
成员 | 要在绑定中使用的一系列接口对象。 | |
bonding_options | 创建绑定时的一组选项。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 要用于绑定的 DNS 服务器列表。 |
linux_bridge
定义一个 Linux 网桥,它将多个 interface
, linux_bond
, 和 vlan
对象连接在一起。外部网桥也对参数使用两个特殊值:
-
bridge_name
,它替换为外部网桥名称。 -
interface_name
,它替换为外部接口。
例如:
- type: linux_bridge name: bridge_name addresses: - ip_netmask: list_join: - / - - {get_param: ControlPlaneIp} - {get_param: ControlPlaneSubnetCidr} members: - type: interface name: interface_name - type: vlan device: bridge_name vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
选项 | 默认 | 描述 |
---|---|---|
name | 网桥的名称。 | |
use_dhcp | False | 使用 DHCP 获取 IP 地址。 |
use_dhcpv6 | False | 使用 DHCP 获取 v6 IP 地址。 |
addresses | 分配给网桥的 IP 地址列表。 | |
Routes | 分配给网桥的路由列表。更多信息请参阅 Routes。 | |
mtu | 1500 | 连接的最大传输单元(MTU)。 |
成员 | 要在网桥中使用的一系列接口、VLAN 和绑定对象。 | |
defroute | True |
使用 DHCP 服务提供的默认路由。只有在启用 |
persist_mapping | False | 编写设备别名配置而不是系统名称。 |
dhclient_args | 无 | 要传递给 DHCP 客户端的参数。 |
dns_servers | 无 | 用于网桥的 DNS 服务器列表。 |
Routes
定义应用到网络接口、VLAN、网桥或绑定的路由列表。
例如:
- type: interface name: nic2 ... routes: - ip_netmask: 10.1.2.0/24 gateway_ip: 10.1.2.1
选项 | 默认 | 描述 |
---|---|---|
ip_netmask | 无 | 目标网络的 IP 和子网掩码。 |
default | False |
将此路由设置为默认路由。等同于设置 |
next_hop | 无 | 用于访问目的地网络的路由器的 IP 地址。 |