第 10 章 Red Hat OpenStack Platform 网络服务


OpenStack 网络服务(neutron)使最终用户或项目能够定义和消耗网络资源。OpenStack 网络提供了一个面向项目的 API,用于定义云中实例的网络连接和 IP 寻址,除了编排网络配置之外。随着向以 API 为中心的网络服务转换,云架构师和管理员应考虑良好的做法,以保护物理和虚拟网络基础架构和服务。

OpenStack 网络由插件架构设计,通过开源社区或第三方服务提供 API 的扩展性。当您评估您的架构设计要求时,务必要确定 OpenStack 网络核心服务中的哪些功能、第三方产品提供的其他服务,以及在物理基础架构中实施哪些补充服务。

本节概述了在实施 OpenStack 网络时应考虑哪些流程和良好做法。

10.1. 网络架构

OpenStack 网络是一种单机服务,可在多个节点上部署多个进程。这些进程互相交互,以及其他 OpenStack 服务。OpenStack 网络服务的主要进程是 neutron-server,它是一个 Python 守护进程,它公开 OpenStack 网络 API,并将项目请求传递给一组插件以进行额外的处理。

OpenStack 网络组件有:

  • Neutron 服务器(neutron-serverneutron fluentd-plugin) - neutron-server 服务在 Controller 节点上运行,为网络 API 及其扩展(或插件)提供服务。它还强制使用每个端口的网络模型和 IP 地址。neutron-server 需要直接访问持久数据库。代理可以通过 neutron-server 间接访问数据库,它们使用 AMQP (高级消息队列协议)进行通信。
  • Neutron 数据库 - 数据库是 neutron 信息的集中源,API 会记录数据库中的所有事务。这允许多个 Neutron 服务器共享相同的数据库集群,让它们保持同步,并允许网络配置拓扑的持久性。
  • 插件代理(neutron-*-agent) - 在每个计算节点和网络节点(与 L3 和 DHCP 一起)上运行,以管理本地虚拟交换机(vswitch)配置。启用的插件决定了哪些代理被启用。这些服务需要消息队列访问,并取决于所使用的插件,访问外部网络控制器或 SDN 实现。有些插件(如 slirp (ODL)和 Open Virtual Network (OVN))不需要计算节点上任何 python 代理,只需要启用的 Neutron 插件进行集成。
  • DHCP 代理(neutron-dhcp-agent) - 为项目网络提供 DHCP 服务。这个代理在所有插件中都是相同的,负责维护 DHCP 配置。neutron-dhcp-agent 需要消息队列访问。根据插件,可选。
  • 元数据代理(neutron-metadata-agentneutron-ns-metadata-proxy) - 提供用于应用实例操作系统配置和用户提供的初始脚本('userdata')的元数据服务。该实施需要在 L3 或 DHCP 代理命名空间中运行的 neutron-ns-metadata-proxy 截获 cloud-init 发送的元数据 API 请求来代理到元数据代理。
  • L3 代理(neutron-l3-agent) - 为项目网络上的虚拟机的外部网络访问提供 L3/NAT 转发。需要消息队列访问。根据插件,可选。
  • 网络供应商服务(SDN server/services) - 为项目网络提供额外的网络服务。这些 SDN 服务可以通过 REST API 等通信频道与 neutron-server、neutron-plugin 和插件代理交互。

下图显示了 OpenStack 网络组件的架构和网络流图:

网络连接

请注意,当使用分布式虚拟路由(DVR)和第 3 层高可用性(L3HA)时,这种方法会显著变化。这些模式改变了 neutron 的安全环境,因为 L3HA 在路由器之间实现 VRRP。部署需要正确调整大小并强化,以帮助缓解路由器之间的 DoS 攻击,并且路由器之间的本地网络流量必须被视为敏感,以帮助解决 VRRP 欺骗的威胁。DVR 将网络组件(如路由)移到 Compute 节点,同时仍然需要网络节点。因此,计算节点需要访问公共网络并从公共网络访问,增加其暴露,并需要客户需要额外的安全考虑,因为它们需要确保防火墙规则和安全模型支持这种方法。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部