第 2 章 使用 ML2/OVN
Red Hat OpenStack Platform (RHOSP) 网络由网络服务(neutron) 管理。网络服务的核心是 Modular Layer 2 (ML2) 插件,RHOSP ML2 插件的默认机制驱动程序是 Open Virtual Networking (OVN) 机制驱动程序。
早期 RHOSP 版本默认使用 Open vSwitch (OVS) 机制驱动程序,但红帽建议大多数部署推荐 ML2/OVN 机制驱动程序。
2.1. RHOSP OVN 架构中的组件列表
RHOSP OVN 架构将 OVS Modular Layer 2 (ML2) 机制驱动程序替换为 OVN ML2 机制驱动程序,以支持网络 API。OVN 为 Red Hat OpenStack 平台提供网络服务。
如图 2.1 所示,OVN 架构由以下组件和服务组成:
- ML2 插件带有 OVN 机制驱动程序
- ML2 插件将 OpenStack 特定的网络配置转换为平台中立的 OVN 逻辑网络配置。它通常在 Controller 节点上运行。
- OVN 北向 (NB) 数据库(
ovn-nb
) -
此数据库存储 OVN ML2 插件的逻辑 OVN 网络配置。它通常在 Controller 节点上运行,并监听 TCP 端口
6641
。 - OVN 北向服务 (
ovn-northd
) - 此服务将 OVN NB 数据库中的逻辑网络配置转换为逻辑数据路径流,并在 OVN 南向数据库中填充它们。它通常在 Controller 节点上运行。
- OVN 南向 (SB) 数据库 (
ovn-sb
) -
此数据库存储转换的逻辑数据路径流。它通常在 Controller 节点上运行,并监听 TCP 端口
6642
。 - OVN 控制器 (
ovn-controller
) -
此控制器连接到 OVN SB 数据库,并充当 Open vSwitch 控制器来控制和监控网络流量。它在定义了
OS::Tripleo::Services::OVNController
的所有 Compute 和 gateway 节点上运行。 - OVN 元数据代理 (
ovn-metadata-agent
) -
此代理创建用于管理 OVS 接口的
haproxy
实例、网络命名空间和 HAProxy 进程,用于代理元数据 API 请求。代理在定义了OS::TripleO::Services::OVNMetadataAgent
的所有 Compute 和 gateway 节点上运行。 - OVS 数据库服务器 (OVSDB)
-
托管 OVN 北向和南向数据库。另外,与
ovs-vswitchd
交互,以托管 OVS 数据库conf.db
。
注意
NB 数据库的 schema 文件位于 /usr/share/ovn/ovn-nb.ovsschema
中,SB 数据库架构文件位于 /usr/share/ovn/ovn-sb.ovsschema
。
图 2.1. RHOSP 环境中的 OVN 架构