3.4. 网络资源
网络可用性对云部署中的虚拟机监控程序至关重要。例如,如果虚拟机监控程序支持每个节点只有几个虚拟机(VM),且应用程序不需要高速网络,那么您可以使用一个或两个 1GB 以太网链接。但是,如果应用程序需要高速网络,或者您的管理程序支持每个节点的多个虚拟机,则建议使用一个或两个 10GB 以太网链接。
与传统的核心网络拓扑相比,典型的云部署使用更对等的通信。虽然虚拟机在集群中随机置备,但这些虚拟机需要相互通信,就像它们位于同一网络中一样。这个要求可能会减慢网络的速度,并导致传统核心网络拓扑中的数据包丢失,因为边缘和网络内核之间的超额订阅链接。
3.4.1. 隔离您的服务 复制链接链接已复制到粘贴板!
OpenStack 云传统上有多个网络段。每个片段提供对云中资源的访问权限,供操作员和租户使用。网络服务还需要与其他网络分开的网络通信路径。将服务隔离到单独的网络有助于保护敏感数据并防止未经授权的访问服务。
最低推荐的隔离涉及以下网络段:
- 租户和操作员用于访问云 REST API 的公共网络片段。通常,只需要云中的控制器节点和 swift 代理才能连接到此网络段。在某些情况下,这个网络段也可能由硬件负载均衡器和其他网络设备提供服务。
云管理员使用管理网络段来管理硬件资源,并通过配置管理工具将软件和服务部署到新硬件。在某些情况下,这个网络段还可能用于内部服务,包括需要相互通信的消息总线和数据库服务。
由于此网络段的安全要求,建议保护此网络不受未授权访问的影响。这个网络片段通常需要与云中的每个硬件节点通信。
应用程序和消费者使用的应用程序网络段提供对物理网络的访问,以及用户访问云中运行的应用程序。这个网络需要与公共网络段隔离,且不应直接与云中的硬件资源通信。
此网络段可用于由计算资源节点和网络网关服务进行通信,这些服务将应用程序数据传输到云之外的物理网络。
3.4.2. 选择您的网络类型 复制链接链接已复制到粘贴板!
您选择的网络类型在云网络架构设计中扮演关键角色。
- OpenStack Networking (neutron)是 OpenStack forward-looking 路线图的核心软件定义型网络(SDN)组件,正在积极开发。
- OpenStack 技术发展蓝图中弃用了计算网络(nova-network),但目前仍然可用。
Compute 网络和 OpenStack 网络之间没有迁移路径。因此,如果您计划部署计算网络,则无法升级到 OpenStack 网络,且网络类型之间的任何迁移都必须手动执行,并且需要网络中断。
3.4.2.1. 何时选择 OpenStack Networking (neutron) 复制链接链接已复制到粘贴板!
如果您需要以下功能,请选择 OpenStack 网络:
覆盖网络解决方案.OpenStack 网络支持 GRE 和 VXLAN 隧道以实现虚拟机流量隔离。GRE 或 VXLAN 不需要网络光纤上的 VLAN 配置,只需要物理网络来提供节点之间的 IP 连接。
与 802.1q VLAN 上的 4094 个唯一 ID 限制相比,VXLAN 或 GRE 还允许 3,200万个唯一 ID 限制。计算网络在 802.1q VLAN 上进行网络隔离,且不支持使用 GRE 或 VXLAN 进行隧道连接。
租户之间的 IP 地址重叠。OpenStack 网络使用 Linux 内核中的网络命名空间功能,允许不同的租户在同一计算节点上使用相同的子网范围,如 192.168.100/24,而无需重叠或干扰风险。此功能适用于大型多租户部署。
相比之下,计算网络仅提供扁平拓扑,它们必须保持了解所有租户使用的子网。
红帽认证第三方 OpenStack Networking 插件.默认情况下,Red Hat OpenStack Platform 使用带有 Open vSwitch (OVS)机制驱动程序的开源 ML2 核心插件。OpenStack 网络的模块化结构允许您根据物理网络结构和其他网络要求部署第三方 OpenStack 网络插件,而不是默认的 ML2/Open vSwitch 驱动程序。
红帽正在扩展合作伙伴认证计划,为 Red Hat OpenStack Platform 认证更多 OpenStack 网络插件。您可以了解更多有关认证计划的信息,并查看经认证的 OpenStack 网络插件列表 :http://marketplace.redhat.com
- VPN 即服务(VPNaaS)、防火墙即服务(FWaaS)或负载平衡即服务(LBaaS)。这些网络服务仅适用于 OpenStack 网络,且在计算网络中不可用。控制面板允许租户管理这些服务,而无需管理员干预。
3.4.2.2. 选择 Compute Networking (nova-network) 复制链接链接已复制到粘贴板!
计算网络(nova-network)服务主要是第 2 层网络服务,可在两种模式下工作。这些模式因 VLAN 使用量而异:
- 扁平网络模式.云中的所有网络硬件节点和设备都连接到单一第 2 层网络段,提供对应用程序数据的访问。
- VLAN 分段模式。如果云中的网络设备支持 VLAN 的分段,则云中的每个租户都会分配一个映射到物理网络上的 VLAN 的网络子网。如果您的云设计需要支持多个租户,而您想要使用 Compute 网络,您应该使用此模式。
计算网络仅由云操作员管理。租户无法控制网络资源。如果租户需要管理和创建网络资源,如网络网段和子网,您必须安装 OpenStack 网络服务,以提供实例的网络访问。
在以下情况下选择 Compute 网络:
- 如果您的部署需要扁平未标记的网络,或标记了 VLAN 802.1q 网络。您必须记住,网络拓扑将理论扩展限制为 4094 VLAN ID,物理交换机通常会支持较少的数字。此网络还可减少管理和置备限制。您必须手动配置网络,以在节点之间中继所需的 VLAN 集合。
- 如果您的部署不需要租户之间重叠的 IP 地址。这通常仅适用于小型私有部署。
- 如果您不需要软件定义型网络(SDN)解决方案或与物理网络结构交互的功能。
- 如果您不需要自助服务 VPN、防火墙或负载均衡服务。
3.4.3. 常规注意事项 复制链接链接已复制到粘贴板!
- 安全性
确保您隔离网络服务,并且流量流到正确的目的地,而无需通过不必要的位置进行跨度。
考虑以下示例因素:
- 防火墙
- 用于加入独立租户网络的覆盖互连
- 通过或避免特定网络的路由
网络附加到虚拟机监控程序的方式可以公开安全漏洞。为了缓解利用虚拟机监控程序中断的情况,请将网络与其他系统分离,并将网络调度到专用 Compute 节点。这种分离可防止攻击者从被破坏的实例获取网络访问权限。
- 容量规划
- 云网络需要容量和增长管理。容量规划可包括购买网络电路和硬件,以及以月或数年测量的领导时间。
- 复杂性
- 复杂的网络设计可能很难维护和故障排除。虽然设备级配置可以简化维护问题和自动化工具可以处理覆盖网络,但避免或记录功能与专用硬件之间的非传统互连,以防止中断。
- 配置错误
- 配置不正确的 IP 地址、VLAN 或路由器可能会导致网络区域出现中断,甚至整个云基础架构中。自动化网络配置,以最大程度降低可能会破坏网络可用性的 Operator 错误。
- 非标准功能
配置云网络以利用特定供应商的功能可能会带来额外的风险。
例如,您可以使用多链路聚合(MLAG)在网络的聚合器交换机级别提供冗余。MLAG 不是标准聚合格式,每个供应商都实施该功能的专有类别。MLAG 架构不跨交换机供应商实现互操作性,这会导致厂商锁定,并可能导致升级网络组件时出现延迟或问题。
- 单点故障
- 如果您的网络因为只有一个上游链接或只有一个电源而有单一故障(SPOF),您可能会在失败时遇到网络中断。
- Tuning
- 配置云网络,以最大程度降低链路丢失、数据包丢失、数据包障碍、广播形势和循环。
3.4.4. 网络硬件 复制链接链接已复制到粘贴板!
网络硬件没有单一最佳实践架构来支持 OpenStack 云,您可以适用于所有实施。选择网络硬件的关键考虑因素包括:
- 可用性
为确保不间断云节点访问,网络架构应识别任何单点故障,并提供适当的冗余或容错能力:
- 可以通过添加冗余电源或配对的交换机来实现网络冗余。
- 对于网络基础架构,LACP、VRRP 或类似的网络协议可用于实现高度可用的网络连接。
- 为确保 OpenStack API 和云中的任何其他服务高度可用,您应该在网络架构中设计负载平衡解决方案。
- 连接性
- OpenStack 云中的所有节点都需要网络连接。在某些情况下,节点需要访问多个网络段。设计必须包含足够的网络容量和带宽,以确保云中的所有南北和东西流量都有充足的资源。
- 端口
任何设计都需要具有所需端口的网络硬件:
- 确保具有提供端口所需的物理空间。首选更高的端口密度,因为它为计算或存储组件留出更多机架空间。适当的端口可用性还可防止故障域并协助电源密度。密度更高的交换机更为昂贵,应该考虑它,因为如果不需要,则不必过度设计网络。
- 网络硬件必须支持提议的网络速度。例如: 1 GbE、10 GbE 或 40 GbE (甚至 100 GbE)。
- power
- 确保物理数据中心为所选网络硬件提供所需的电源。例如,leaf-and-spine fabric 或行尾(EoR)交换机中的 spine 交换机可能无法提供足够的电源。
- 可扩展性
- 网络设计应包括可扩展的物理和虚拟网络设计。网络硬件应该提供硬件节点所需的接口和速度的类型。