前面讨论了 Neutron 的架构和基础知识,接下来就要经过实验深刻学习和实践了。网络
第一步就是准备实验用的物理环境,考虑以下几个问题:架构
须要几个节点?学习
如何分配节点的角色?spa
节点上部署哪些服务?router
配几个网卡?资源
物理网络如何链接?路由
咱们的目的是经过实验学习 Neutron 的各类特性。 为了达到这个目的,实验环境应尽可能贴近典型的部署方案;但同时,因为是我的学习使用,受物理条件的限制须要尽可能利用有限的资源,因此咱们采用下面的部署方案:部署
Q:须要几个节点? A:2 节点 = 1 控制节点 + 1 计算节点基础
Q:如何分配节点的角色? A:控制节点合并了网络节点的功能,同时也是一个计算节点配置
Q:节点上部署哪些服务? A:如上图
OpenStack 至少包含下面几类网络流量
Management
API
VM
External
Management 网络
用于节点之间 message queue 内部通讯以及访问 database 服务,全部的节点都须要链接到 management 网络。
API 网络
OpenStack 各组件经过该网络向用户暴露 API 服务。Keystone, Nova, Neutron, Glance, Cinder, Horizon 的 endpoints 均配置在 API 网络上。
一般,管理员也经过 API 网络 SSH 管理各个节点。
VM 网络
VM 网络也叫 tenant 网络,用于 instance 之间通讯。 VM 网络能够选择的类型包括 local, flat, vlan, vxlan 和 gre。 VM 网络由 Neutron 配置和管理。
External 网络
External 网络指的是 VM 网络以外的网络,该网络不禁 Neutron 管理。 Neutron 能够将 router attach 到 External 网络,为 instance 提供访问外部网络的能力。 External 网络多是企业的 intranet,也多是 internet。
这几类网络只是逻辑上的划分,物理实现上有很是大的自由度。
咱们能够为每种网络分配单独的网卡; 也能够多种网络共同使用一个网卡; 为提升带宽和硬件冗余,可使用 bonding 技术将多个物理网卡绑定成一个逻辑的网卡
咱们的实验环境采用下面的网卡分配方式:
控制节点 3 网卡(eth0, eth1, eth2),计算节点 2 网卡(eth0, eth1) 合并 Management 和 API 网络,使用 eth0,IP 段为 192.168.104.0/24 VM 网络使用 eht1 控制节点的 eth2 与 External 网络链接,IP 段为 10.10.10.0/24
实验环境的网络拓扑以下图所示
分割线上方的网络由网络管理员(就是咱们啦)配置。 主要涉及 Management, API 和 external 网络。 配置的内容包括节点上的物理网卡,物理交换机和外部路由器,防火墙以及物理连线等
分割线下方主要是 VM 网络,由 Neutron 管理。 咱们只须要经过 Web GUI 或者 CLI 操做,Neutron 会负责实现。
下一节咱们将安装和配置控制节点和计算节点。