分类: 云计算
2016-08-19 06:22:25
前面讨论了 Neutron 的和基础知识,接下来就要通过实验深入学习和实践了。
第一步就是准备实验用的物理环境,需要考虑如下几个问题:
- 需要几个节点?
- 如何分配节点的角色?
- 节点上分别部署哪些服务?
- 节点上配置几个网卡?
- 物理网络如何连接?
我们的目的是通过实验学习 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 连接到 External 网络,为 instance 提供访问外部网络的能力。
External 网络可能是企业的 intranet,也可能是 internet。
这几类网络只是逻辑上的划分,物理实现上可以有非常大的自由度。
我们可以为每种网络分配单独的网卡;
也可以多种网络共享一个网卡;
为提高带宽和硬件冗余,可以使用 bonding 技术将多个物理网卡绑定成一个逻辑的网卡。
我们的实验环境采用下面的网卡分配方式:
实验环境的网络拓扑如下图所示:
分割线上方的网络:
1. 由网络管理员(就是我和你啦)配置。
2. 主要涉及 Management, API 和 external 网络。
3. 配置的内容包括节点上的物理网卡,物理交换机和外部路由器,防火墙以及物理连线等
分割线下方的网络:
1. 主要是 VM 网络,由 Neutron 管理。
2. 我们只需要通过 Web GUI 或者 CLI 发命令,Neutron 会负责实现。
下一节我们将安装和配置控制节点和计算节点。