参考架构
Architecture from OpenStack Install Guide
Reference Architecture Network Isolation
在本次部署中,咱们采用了OpenStack中新的网络管理组件(neutron),具体参见安装指导。右图为该网络部署结构的示意,分为三类节点:php
控制节点
负责整个OpenStack机群的管控,因为它不承担kvm虚拟机的实际运行,负载交轻,通常将管理性(仅仅负责调度,监控)的服务部署在其上如html
- neutron 网络管理服务
- nova 计算管理服务
- glance 虚拟机映像管理服务
- keystone 身份验证服务
- horizon OpenStack的web管理服务
- rabbitmq 消息队列服务
- mysql 数据库
网络节点
为虚拟网络提供DHCP,L2交换,路由,浮动IP安全策略等网络服务。主要运行mysql
- neutron openstack的虚拟网络服务
- openvswitch 虚拟L2交换
计算节点
nova-compute 实际运行kvm虚拟机,运行受到控制节点的调度web
网络
在官方给出的这个部署架构中的网络分为三类sql
-
管理网络(红色)
-
OpenStack中的服务通讯都经过这个网络进行,通常它与数据网络是分离的,避免因为数据网络的大流量影响到正常的OpenStack服务通讯
-
数据网络(绿色)
-
虚拟机实例之间的通讯都经过数据网络进行,但虚拟网络中的数据并非直接进入物理网络(那样会混淆虚拟网络与实际网络的通讯),而是进行一层封装,可使用VLAN也能够是GRE隧道等,在官方给出的安装指导中使用了GRE隧道。
-
外部网络(蓝色)
-
当虚拟机访问外部网络资源时,先通过内部数据网络到达网络节点,而后通过网络节点路由经过其接在外部网络上的网络接口进行发包
隔离
通常来说,机群内部网络是对外不可见的,如阿里云,咱们确定不能直接访问到它的内部网络(若是机群直接在公网上,一方面浪费IP地址,另外一方面也存在安全问题),而只能经过它提供的公网IP进行访问。数据库
实际架构
节点服务
节点服务的布局与官方安装指导中的一致安全
网络
-
管理网络与数据网络
-
因为咱们的台式机只有一个物理网络接口,因此数据网络的隧道须要创建在与管理网络相同的物理网络上,即数据网络与管理网络共用一个物理接口和线路。数据网络采用GRE隧道,与官方安装指导保持一致。
-
外部网络
-
对于本次部署的OpenStack服务机群来讲它的内部网络和外部网络是重合的,由于机群内的每台服务器在校园内网环境下都是能够访问到的,且访问服务的客户端也是在内网。但因为须要给虚拟机分配公网(这里就是校园内网)IP,仍是须要在网络节点上有一个接口用来作SNAT转换,由于实验室的台式机只有一个网卡,这个接口咱们使用虚拟路由出口直接桥接到内网接口上获得。具体参见网络节点的接口配置。