[ English | Indonesia | русский ]

Metal networking

OpenStack-Ansible 支持在“metal”以及 LXC 容器内部部署 OpenStack 和相关服务。Python 虚拟环境 (venvs) 提供 OpenStack 服务和 Python 库的分离,而其他服务(如 Galera 和 RabbitMQ)则与主机共置。此部署模型中的所有服务共享相同的 IP 地址。

本附录描述了接口的连接方式以及流量的流向。

有关 OpenStack Networking 服务 (Neutron) 如何使用接口进行实例流量的更多信息,请参阅 OpenStack Networking Guide

有关环境网络配置的详细信息,请参阅 openstack_user_config 设置参考

物理主机接口

在典型的生产环境中,物理网络接口组合成绑定对,以提高冗余性和吞吐量。避免在同一多端口网卡上使用两个端口作为相同的绑定接口,因为网卡故障会影响绑定所使用的两个物理网络接口。如果需要,可以使用多个绑定接口(例如 bond0、bond1)来隔离流量。支持使用单个(绑定)接口的配置,但需要使用 VLAN 子接口。

Linux 桥接/交换机

容器和灵活部署选项的结合需要在 Linux 网络中实现高级功能,例如桥接、交换机和命名空间。

  • 桥接在主机内的物理、逻辑和虚拟网络接口之间提供第二层连接(类似于交换机)。创建桥接/交换机后,网络接口将虚拟地插入其中。

    OpenStack-Ansible 使用 Linux 桥接进行控制平面连接到 LXC 容器,并且可以使用 Linux 桥接或基于 Open vSwitch 的桥接进行数据平面连接,将虚拟机实例连接到物理网络基础设施。

  • 网络命名空间在主机内提供逻辑上独立的第三层环境(类似于 VRF)。命名空间使用虚拟接口与其他命名空间连接,包括主机命名空间。这些接口通常称为 veth 对,类似于连接物理设备(如交换机和路由器)的跳线,虚拟地插入命名空间之间。

网络图

在 metal 上运行服务的宿主机

下图显示了所有接口和桥接的互连方式,为 OpenStack 部署提供网络连接

../../_images/networkarch-metal-external.drawio.png

Neutron 流量

包括 ML2/OVS 和 ML2/OVN 在内的通用参考驱动程序及其各自的代理负责管理每个节点上的虚拟网络基础设施。OpenStack-Ansible 将 Neutron 流量称为“数据平面”流量,可以由 flat、VLAN 或 overlay 技术(如 VXLAN 和 Geneve)组成。

Neutron 代理可以部署在各种主机上,但通常限制在专用网络主机或基础设施主机(控制器节点)上。Neutron 代理部署在“metal”上,而不是在 LXC 容器内。Neutron 通常要求操作员定义“提供者桥接映射”,将提供者网络名称映射到物理接口。这些提供者桥接映射提供了灵活性,并在创建提供者网络时抽象了物理接口名称。

Open vSwitch/OVN 示例:

bridge_mappings = physnet1:br-ex

OpenStack-Ansible 在定义提供者网络时提供了两个覆盖,可用于创建映射,并在某些情况下将物理接口连接到提供者桥接

  • host_bind_override

  • network_interface

当组件部署在裸机主机上时,host_bind_override 键用于将 LXC 相关接口名称替换为物理接口名称。它将用于填充 Neutron 的 network_mappings

对于基于 Open vSwitch 和 OVN 的部署,network_interface 覆盖用于 Open vSwitch 和 OVN 的部署,需要一个物理接口名称,该名称将连接到提供者桥接(例如 br-ex),用于 flat 和 vlan 基的提供者和项目网络流量。

以下图表反映了受支持的网络架构中虚拟网络布局的差异。

Open vSwitch (OVS)

网络节点
../../_images/networking-openvswitch-nn.drawio.png
计算节点
../../_images/networking-openvswitch-cn.drawio.png

开放虚拟网络 (OVN)

注意

从 OpenStack-Ansible 的 Zed 版本开始,默认部署 ML2/OVN 机制驱动程序。

网络节点
../../_images/networking-ovn-nn.drawio.png
计算节点
../../_images/networking-ovn-cn.drawio.png