如果这次是首次在你的组织中部署云系统,在阅读完本章节后请和你的网络运维团队进行沟通,以便了解现有网络状况。云系统使用的网络同普通系统所使用的网络部署方式不同,且有可能在部署时对于网络的连接性和网络策略造成影响。
比如:组成云系统的服务器和云上运行的虚拟机实例所需要用的IP地址资源就需要事先进行妥善规划和准备;云系统网络中所涉及到的代理,防火墙也需要进行相应的研究。
网络管理
网络有效管理通常是一个重要的考虑项目(常见的如:分散的交换机和网络接口)。通过将系统管理和监控产生流量和实际云系统用户流量进行分流的网络管理方式可以减少对于用户使用的影响。
对于OpenStack内部组件则建议使用私有网络进行通讯,如:消息队列,OpenStack计算节点。VLAN非常适合于这种私有网络的场景。
公共访问选项
对于云系统中虚拟机实例有两种的IP地址分配策略:固定IP和动态IP。固定IP策略是在虚拟机实例启动时分配并绑定一个固定IP地址,而动态IP策略则可能在用户的不同操作时IP地址发生变更。这两种IP策略按照需求同时可用于共有和私有网络。
OpenStack必须使用固定IP地址,而动态IP地址则不是必须的。常见的2种动态IP的应用场景是:对于公网IP地址有限的私有云环境,可提供外网对于私有云的访问;或对于公有云用户可以有一个静态IP来访问云资源,而在云系统中实际对应的实例已迁移或升级。
固定IP地址可以是私有云中的内网IP,也可以是公有云中的公网IP。当虚拟机实例终止后,对应的固定IP地址就被系统回收。需要注意的是刚开始使用云系统的用户可能会对固定IP地址的消失产生困惑。
IP地址规划
OpenStack环境可能会需要很多子网,且每个子网间运行不同的服务。IP地址规划可以对于网络分隔和扩展提供更好的帮助。控制类服务同时需要公网和私网IP地址,可参见之前提到的虚拟机公网配置的选项。
IP地址规划可以分解成以下部分:
子网路由:子网数据包通过专用路由或nova-network服务进行通讯
控制服务的公开接口:swift-proxy, nova-api, glance-api和horizon的公用访问,可以指向单台服务器也可在负载均衡之后。
对象存储集群内部通讯:在对象/账号/容器的服务之间的通讯和代理服务的内部接口使用的私有网络上的通讯。
计算和存储通讯:临时存储和对象存储对于计算节点来说是外部服务,需要网络进行连接通讯。
外部远程管理:如果专用的外部远程控制器用于管理服务器,通常采用分隔的网络。
内部远程管理:通常计算或存储节点需要额外的网络接口(如 1G接口)用于系统管理或监控工具访问服务器。
未来扩展的预留空间:添加新的面向公开的控制服务,或是更多的虚拟机实例的IP需要在你的计划中。
比如:在私有IP段172.22.42.0/24 and 172.22.87.0/26上部署了OpenStack的计算和对象存储服务,可按照如下方式进行配置:
172.22.42.0/24 172.22.42.1 - 172.22.42.3 - 子网路由 172.22.42.4 - 172.22.42.20 - 预留 172.22.42.21 - 172.22.42.104 - 计算节点远程控制器 172.22.42.105 - 172.22.42.188 - 计算节点管理接口 172.22.42.189 - 172.22.42.208 - Swift proxy远程控制器 172.22.42.209 - 172.22.42.228 - Swift proxy管理接口 172.22.42.229 - 172.22.42.252 - Swift storage servers远程控制器 172.22.42.253 - 172.22.42.254 - 预留 172.22.87.0/26: 172.22.87.1 - 172.22.87.3 - 子网路由 172.22.87.4 - 172.22.87.24 - Swift proxy server内部接口 172.22.87.25 - 172.22.87.63 - Swift object server内部接口也可以使用公网IP地址实现类似方式,建议使用较大范围段的IP地址。需要注意的是有些Openstack网络配置下,虚拟机实例的公网IP地址是分配给了nova-compute主机。
网络拓扑
OpenStack提供了几种网络管理方式,每种各自有自己的优缺点。选择不同的网络管理管理方式会影响到你网络拓扑,所以需要谨慎选择合适方式。 方式 Flat 优点:及其简单,不需要DHCP广播 缺点:需要在虚拟机实例中进行文件注入,仅限于有限的Linux发行版,配置困难,不推荐 FlatDHCP 优点:配置相对简单,标准网络协议,可用于任意操作系统 缺点:需要有自己的DHCP广播域 VlanManager 优点:每个租户可以隔离在自己的VLAn中 缺点:配置较复杂,需要有自己的DHCP广播域,需要需要许多VLAN配置传输端口,有VLAN数量限制,交换机需要支持802.1q VLAN tagging FlatDHCP Multi-host 优点:网络故障可按照虚拟机进行隔离 缺点:配置复杂 HA 优点:running on the hypervisor affected.(不知道什么意思?主机上运行,可迁移?),DHCP通讯可以隔离在单个主机,网络流量可以分布到不同的计算节点上 缺点:默认计算节点需要分配公网IP地址,在线扩展时在网络部分需要特别小心的修改配置
VLANs