【SPOTO思博网络】运维基础《OpenStack》【网工入门必备基础知识】 以OpenStack为代表的IaaS开源技术和以Docker为代表的PaaS/CaaS容器技术日益成熟,二者如何强强联合,一直是业界颇为关心的焦点领域。
本次分享主要是和大家交流基于Docker容器运行和部署OpenStack。那么,安装OpenStack都有哪些方法呢?
对于很多刚接触OpenStack的新人而言,安装无疑是一大挑战,同时也直接提高了学习OpenStack云计算的技术门槛。
安装OpenStack的方式有这么多?
01 DevStack
在相当长一段时间内,DevStack仍将是众多开发者的首选安装工具。该方式主要是通过配置一个安装脚本,执行Shell命令来安装OpenStack的开发环境,支持CentOS、Debian等系列系统。
02 RDO
RDO是由RedHat红帽开源的一个自动化部署OpenStack的工具,支持单节点(all-in-one)和多节点(multi-node)部署。但RDO只支持CentOS系列操作系统。需要注意的是,该项目并不属于OpenStack官方社区项目。
03 手动部署
按照社区官方提供的文档,可以使用手动方式部署单节点、多节点、HA节点环境。
04 Puppet
Puppet由Ruby语言编写。Puppet是进入OpenStack自动化部署中早期的一个项目。目前,它的活跃开发群体是RedHat、Mirantis、UnitedStack等。Mirantis出品的Fuel部署工具,其大量的模块代码使用的便是Puppet。
05 Ansible
Ansible是一个自动化部署配置管理工具,已被RedHat收购。它基于Python开发,集合了众多运维工具(Puppet、Chef、SaltStack等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible一方面总结了Puppet设计上的得失,另一方面也改进了很多设计。比如基于SSH方式工作,故而不需要在被控端安装客户端。
06 SaltStack
SaltStack也是一个开源的自动化部署工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能,和Ansible很相似。不同之处是,由于SaltStack的Master和Minion认证机制及工作方式,因此需要在被控端安装Minion客户端。
07 TripleO
TripleO项目最早由HP于2013年4月在Launchpad上注册BP,用于完成OpenStack的安装与部署。
TripleO全称为“OpenStackOnOpenStack”,意思为“云上云”,可以简单理解为利用OpenStack来部署OpenStack,即首先基于V2P(和P2V相反,指把虚拟机的镜像迁移到物理机上)的理念事先准备好一些OpenStack节点(计算、存储、控制节点)的镜像,然后利用已有OpenStack环境的Ironic裸机服务和软件安装部分的diskimage-builder部署裸机,最后通过Heat项目和镜像内的自动化部署工具(Puppet或Chef)在裸机上配置运行OpenStack。
和其他部署工具不同的是,TripleO是利用OpenStack已有的基础设施来部署OpenStack的。
08 Fuel
Fuel是针对OpenStack的一个可以通过“界面部署”的工具,它大量采用了Python、Ruby和Java等语言。
其功能涵盖了通过自动化PXE方式安装操作系统、DHCP服务、Orchestration编排服务和Puppet安装相关服务等,此外还有OpenStack关键业务健康检查和log实时查看等非常好用的功能。
09 Kolla
上面说了这么多,现在终于轮到主角上场了——kolla。Kolla是具有广阔应用前景和市场的一个自动化部署工具。
相比于其他部署工具,Kolla完全革新地使用了Docker容器技术,将每一个OpenStack服务运行在不同的Docker容器中。
小结
如上所述,OpenStack的安装部署方式多种多样,新手应该如何选择呢?
这里,推荐使用Rdo或手动部署方式(过程是艰难的,但能很好的加深对OpenStack的理解);
对于老手而言,可以尝试使用Kolla方式,体验Docker和OpenStack融合的新方式。
进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓ 群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信(spotoa),邀你进群
|