O016、搭建实验环境

 
在学习 OpenStack 各服务之前,需要先搭建一个实验环境。
 
一个看得到摸得着而且能让我们随便折腾的 OpenStack 会大大提高学习效率。因为是我们自己学习用的实验环境,所以这里推荐使用 DevStack()
 
DevStack 丰富的选项让我们能够灵活地选取和部署想要的OpenStack服务,非常适合学习和研究。
 
 
部署拓扑
 
首先我们来设计 OpenStack 的部署拓扑。
 
OpenStack 是一个分布式系统,由若干不同功能的节点(Node)组成:
 
    1、控制节点(Controller Node)管理OpenStack ,其上运行的服务有 Keystone、Glance 、Horizon 以及 Nova 和 Neutron 中管理相关的组件。控制节点也运行支持 OpenStack的服务,例如 SQL 数据库(通常是MySQL)、消息队列(通常是 RabbitMQ)和网络时间服务NTP。
 
    2、网络节点(Network Node)其上运行的服务为 Neutron 。为OpenStack提供 L2 L3 网络。包括虚拟机网络、DHCP、路由、NAT等。
 
    3、存储节点(Storage Node)提供块存储(Cinder)和对象存储(Swift)服务
 
    4、计算节点(Compute Node)其上运行 Hypervisor (默认使用KVM)。同时运行 Neutron 服务的agent,为虚机提供网络支持。
 
这几类节点是从功能上进行的逻辑划分,在实际部署时可以根据需求灵活配置,比如:
 
    1、在大规模OpenStack 生产环境中,每类节点都分别部署在若干台物理服务器上,各司其职并互相协作。这样的环境具备很多的性能、伸缩性和高可用性。
 
    2、在最小的实验环境中,可以将4类节点部署到一个物理的甚至是虚拟的服务器上。麻雀虽小五脏俱全,通常也成为 All-inOne 部署。
 
在我们的实验环境中,为了使拓扑简洁同时功能完备,我们使用两台虚拟机完成:
 
    1、devstack-controller:控制节点 + 网络节点 + 块存储节点 + 计算节点
    2、devstack-compute:计算节点
 
 
物理资源需求:
 
 
CPU 和 内存供参考。肯定是配置越高性能越好,看自己的实际情况。
 
网络规划
 
 
网络上规划了三个网络:
 
    1、Management Network:用于OpenStack 内部管理用,比如各个服务之间通信,这里使用eth0
 
    2、VM(Tenant)Network:OpenStack 部署的虚拟机所使用的网络,OpenStack支持多租户(Tenant),虚拟机是放在Tenant下的,所以叫 Tenat Network,这里使用eth1
 
    3、External Network:一般来说Tenant Network 是内部私有网络,只用于VM之间通信,与其他非VM网络是隔离的。这里我们规划了一个外部网络(External Network),通过 devstack-controller 的eth2 连接。Neutron 通过 L3 服务让 VM 能够访问到 External Network。对于公有云,External Network 一般指的是Internet。对于企业私有云,External Network 则可以是 Internet中的某个网络。
 
posted @ 2019-05-22 10:58  三角形  阅读(361)  评论(0编辑  收藏  举报