从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误。其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的。


现在Openstack的部署有很多可选项,主要有:


1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工;


2)使用Mirantis公司的Fuel工具进行部署。这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成。但是这种部署方式不够透明和灵活,比如如果采用HA部署方式,3个controller上不能部署compute计算节点,另外,如果后续想对各个功能组件进行变更或者升级,实现起来困难重重。


3)使用openstack-ansible 安装,社区开发的ansible 部署方式,可以从社区下载ansible的playbook 进行安装,这种方式支持lxc容器部署和bare-metal裸机两种方式,但是,从管理方便性来说,lxc容器管理并不方便,使用裸机部署方式从实际实验效果来看,碰到诸多的问题,虽然后面都能一一解决,但是将排除故障的时间考虑进去,部署效率总体感觉不高;


4)使用kolla方式进行部署。这种部署方式近两年越来越普遍,这种方式是基于docker容器和ansible技术,将各个基础功能组件使用docker镜像进行标准化打包,使用ansible技术进行自动化部署。由于使用了docker容器,因此各个功能组件的安装部署可以做得很灵活,后期的功能组件扩容、迁移、升级都可以做得非常优雅和干净;


上面几个部署方式,在该项目中,我推荐使用kolla部署,但是基于上面讲到的排除错误的需要,第1种全手工基础安装部署也需要在实验环境下面做一遍,这样可以了解基础的部署步骤和各个组件之间的配置关系,当后续部署过程中出现问题,或者后续使用过程中发现问题的时候才知道问题所在。


这就是为什么很有必要全手工方式安装一遍openstack组件的原因,至少不手工安装,也需要这么一个文档进行参考,在遇到相关问题的时候方便定位。


本安装指南只针对centos7上的安装进行说明。其他版本的安装方法类似,请参考官网。

由于openstack官网是英文,技术更新很快,网上很难找到最新版本的的中文翻译资料。自己在学习的过程中正好需要用到,顺便就将官网的资料翻译了一下,希望能够帮到和我一样现在在学习openstack的朋友。

这个系列主要包括了openstack的几个核心组件外加共享存储组件manila:


  •     Horizon
  •     Nova
  •     Neutron
  •     Cinder
  •     Keystone
  •     Glance
  •     Manila 

http://blog.51cto.com/yuweibing/1981153