场景 - 使用 Open vSwitch 与 DVR

概述

操作员可以选择使用带有分布式虚拟路由 (DVR) 的 Open vSwitch,而不是 Linux 网桥或纯 Open vSwitch 作为 neutron ML2 代理。这提供了在通常的 neutron 网络节点之外部署虚拟路由实例的可能性。本文档概述了如何在您的环境中进行设置。

先决条件

根据 Open vSwitch 设置配置您的网络

OpenStack-Ansible 用户变量

为您的网络主机创建 group var 文件 /etc/openstack_deploy/group_vars/network_hosts。它必须包含

# Ensure the openvswitch kernel module is loaded
openstack_host_specific_kernel_modules:
  - name: "openvswitch"
    pattern: "CONFIG_OPENVSWITCH"

在您的 /etc/openstack_deploy/openstack_user_config.yml 中指定 provider 网络定义,这些定义定义一个或多个 Neutron provider bridge 以及相关配置。

注意

此处指定的网桥将自动创建。如果定义了 network_interface,则该接口将自动放置到网桥中。

- network:
    container_bridge: "br-provider"
    container_type: "veth"
    type: "vlan"
    range: "101:200,301:400"
    net_name: "physnet1"
    network_interface: "bond1"
    group_binds:
      - neutron_openvswitch_agent
- network:
    container_bridge: "br-provider2"
    container_type: "veth"
    type: "vlan"
    range: "203:203,467:500"
    net_name: "physnet2"
    network_interface: "bond2"
    group_binds:
      - neutron_openvswitch_agent

在使用 flat 提供商网络时,相应地修改网络类型

- network:
    container_bridge: "br-provider"
    container_type: "veth"
    type: "flat"
    net_name: "flat"
    group_binds:
      - neutron_openvswitch_agent

在您的 /etc/openstack_deploy/openstack_user_config.yml 中指定一个叠加网络定义,该定义定义了与叠加网络相关的配置

注意

桥接名称应对应于预先创建的 Linux 网桥或 OVS 网桥。

- network:
    container_bridge: "br-vxlan"
    container_type: "veth"
    container_interface: "eth10"
    ip_from_q: "tunnel"
    type: "vxlan"
    range: "1:1000"
    net_name: "vxlan"
    group_binds:
      - neutron_openvswitch_agent

在您的 /etc/openstack_deploy/user_variables.yml 中设置以下用户变量

注意

DVR 部署与标准 Open vSwitch 部署的唯一区别是相应 neutron_plugin_type 的设置。

neutron_plugin_type: ml2.ovs.dvr

neutron_ml2_drivers_type: "flat,vlan,vxlan"
neutron_plugin_base:
  - router
  - metering

这些覆盖指令告知 Ansible 部署 OVS 机制驱动程序以及相关的 OVS 和 DVR 组件。这是通过将 neutron_plugin_type 设置为 ml2.ovs.dvr 来完成的。

neutron_ml2_drivers_type 覆盖提供对 OVS 支持的所有常见类型驱动程序的支持。

有关提供商网络覆盖和其他配置选项的更多信息,请参阅以下网址的标准 Open vSwitch 部署:

https://docs.openstack.org/openstack-ansible-os_neutron/2025.2/app-openvswitch.html