1.2. OpenDaylight 如何与 OpenStack 配合使用?
1.2.1. 默认 neutron 架构
neutron 参考架构使用一系列代理来管理 OpenStack 中的网络。这些代理作为不同的插件提供给 neutron。核心插件用于管理 第 2 层 覆盖技术和数据平面类型。服务插件用于在 OSI 模型(如防火墙、DHCP、路由和 NAT)中管理 第 3 层 或更高的网络操作。
默认情况下,Red Hat OpenStack Platform 使用 Modular Layer 2 (ML2)核心插件和 OVS 机制驱动程序,后者提供一个代理来配置每个 Compute 和 Controller 节点上的 OVS。服务插件、DHCP 代理、元数据代理以及 L3 代理在控制器上运行。
1.2.2. 基于 OpenDaylight 的网络架构
OpenDaylight 通过提供自己的驱动程序(名为 networking-odl )与 ML2 核心插件集成。这消除了在每个节点上使用 OVS 代理的需求。OpenDaylight 可以在环境中直接编程每个 OVS 实例,无需个别节点上的任何代理。对于 第 3 层 服务,neutron 配置为使用 OpenDaylight L3 插件。这种方法减少了处理路由和网络地址转换(NAT)的多个节点上的代理数量,因为 OpenDaylight 可以通过直接编程数据平面来处理分布式虚拟路由功能。neutron DHCP 和元数据代理仍然用于管理 DHCP 和元数据(cloud-init)请求。
OpenDaylight 提供 DHCP 服务。但是,在部署当前 Red Hat OpenStack Platform director 架构时,使用 neutron DHCP 代理提供高可用性(HA),并对虚拟机(VM)实例元数据(cloud-init)实例元数据(cloud-init)实例元数据(cloud-init)提供支持,因此红帽建议您部署 neutron DHCP 代理,而不是依赖 OpenDaylight 来实现这样的功能。