openstack部署的几种方式
对于每一个刚接触到OpenStack的新人而言,装置无疑是最困难的,一起这也客观上提高了大家学习OpenStack云核算的技能门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一个多节点环境时居然用了3个星期。
时至今日,真是感受颇多,从某种角度而言,也很幸亏其时自己并未因困难而抛弃OpenStack,否则,应该是去做其他范畴了吧!
言归正传,咱们就来数说数说布置OpenStack都有哪些方法吧。这儿,咱们根据运用者集体的不同类型来进行分类和概括:
个人运用方面
DevStack
无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选装置方法或东西。该方法首要是通过装备参数,履行shell脚原本装置一个OpenStack的开发环境。
Github:
Wiki:
Rdo
Rdo是由RedHat开源的一款布置OpenStack的东西,同DevStack相同,支撑单节点和多节点布置。但Rdo只支撑CentOS系列的操作系统。需求留意的是,该项目并不归于OpenStack官方社区项目。
Docs:
手动布置
手动布置all-in-one、multi-node、multi-HA-node环境。
其他
企业、集体方面
1.Puppet
Puppet由Ruby言语编写。应当说,Puppet是进入OpenStack主动化布置中的早期一批项目,前史还算悠久。现在,它的活跃开发集体们是Redhat、Mirantis、UnitedStack等。
2.Red
hat自从收买Ansible之后,如今仍然保持强势劲头在Puppet
OpenStack项目中的Commit数量和质量,其技能实力不容小觑;Mirantis出品的Fuel布置东西中,很多的模块代码便运用的是
Puppet。就国内而言,UnitedStack是Puppet社区奉献和运用的最大用户。
Github:
Governance:
Wiki:
3.Ansible
Ansible
是新近呈现的主动化运维东西,已被Red
Hat收买。根据Python开发,集合了众多运维东西(puppet、cfengine、chef、saltstack等)的优点,完结了批量系统配
置、批量程序布置、批量运转指令等功用,它一方面总结了Puppet的规划上的得失,另一方面也改进了很多规划。比如是根据SSH方法工作,故而不需求在被控端装置客户端。使得在和OpenStack结合上没有前史包袱,愈加能够轻装上阵,未来发展潜力不容小觑号称是“你一直寻找的下一代Iaas”的
Zstack,运用到的布置东西也是根据Ansible。
Openstack-ansible项目,最早是由老牌Rackspace公司在Launchpad官网上注册。
在最新的AnsibleOpenStack项目社区Commit奉献中,Rackspace也可谓是遥遥领先,而紧随其后的是RedHat、国内九州云等公司。
Github:
4.SaltStack
SaltStack
也是一款开源的主动化布置东西,根据Python开发,完结了批量系统装备、批量程序布置、批量运转指令等功用,和Ansible也是挺相近的。不同之一
是,由于SaltStack的master和minion认证机制和工作方法,需求在被控端装置minion客户端,在加之其他原因,天然和
Ansible相比,其优缺点便很明显了。
需求留意的是,运用Saltstack布置OpenStack,并不归于OpenStack社区项目。现在,首要还是处于用户自研自用的阶段。据笔者所知,现在国内的携程应该是运用Saltstack布置OpenStack规划最大的用户。
Saltstack布置OpenStack示例:
Saltstack布置OpenStack模块:
5.TripleO
Tripleo项目最早由HP于2013.4在launchpad上注册BP。用于完结OpenStack的装置与布置。TripleO全称“OpenStackOnOpenStack”,
意思即为“云上云”,能够简单理解为利用OpenStack来布置OpenStack,即首先根据V2P(和P2V相反,也就是指
把虚拟机的镜像迁移到物理机上)的理念事先预备好一些OpenStack节点(核算、存储、控制节点)的镜像,然后利用已有openstack环境的裸机
服务Ironic项目去布置裸机,软件装置部分的diskimage-builder,最终通过Heat项目和镜像内的DevOps东西(PuppetOrChef)再在裸机上装备运转openstack。
和其他布置东西不同的是,TripleO利用OpenStack原本的基础设施来布置OpenStack,根据Nova、Neutron、Ironic和Heat,来主动化布置和弹性OpenStack集群。
应
当确切的说,TripleO项目归于当前OpenStack社区主推的“BigTent”开发形式下的bigtentproject(OpenStack下的项目分为三种,coreproject:nova/neutron等核心项目,bigtentproject:非核心项目,但也被OpenStack基金会承受;第三种就是其它项目,只是放在OpenStack下,但是社区还没有承受)。
在该项目的社区Commit奉献上,Redhat可谓是遥遥领先,而紧随其后的是IBM等公司。
Wiki:
image.php?url=0K5S1n8NSt
6.Kolla
在国内一些互联网材料上,常看到关于kolla是TripleO项目的一部分这样的描绘,其实是不精确的。真实的是,Kolla项目起源于Tripleo项
目,时至今日,与它没有任何关系(尽管它们的方针都是做主动化布置,但走的路途却不同)。比之于Tripleo和其他布置东西,Kolla走的是
docker容器布置道路。
kolla项目起源于TripleO项目,聚集于运用docker容器布置OpenStack服务。该项目由
Cisco于2014年9月提出,是OpenStack的孵化项目。当前Kolla项目在Kollaglue
repo供给了以下服务的docker镜像。#dockersearchkollaglue
Kolla的优势和运用场景,体现在如下几个方面:
原子性的晋级或者回退OpenStack布置;
根据组件晋级OpenStack;
根据组件回退OpenStack;
这儿,咱们予以拆分来理解:
Kolla的最终方针是为OpenStack的每一个服务都创建一个对应的DockerImage,通过Docker
Image将晋级的粒度减小到Service等级,从而使晋级时,对OpenStack影响能达到最小,而且一旦晋级失败,也很容易回滚。晋级只需求三
步:Pull新版本的容器镜像,停止老版本的容器服务,然后启动新版本容器。回滚也不需求重新装置包了,直接启动老版本容器服务就行,非常方便。
Kolla是通过DockerCompose来布置OpenStack集群的,现在首要是针对裸机布置的,所以在布置DockerContainer时,默许的网络装备都是Host形式。
首先,只需求通过一个指令就能够把管理节点布置完结,这个指令是调用DockerCompose来布置OpenStack的一切服务,然后咱们能够在每一个核算节点上通过DockerCompose装置核算节点需求的服务,就能布置一个OpenStack集群。由于Kolla的Docker
Image粒度很小,它针对每个OpenStack服务都有特定的Image,所以咱们也能够通过Docker
Run来操作某个详细的OpenStack服务。
7.Fuel
Fuel是针对OpenStack出产环境方针
(非开源)规划的一个端到端”一键布置“的东西,很多采用了Python、Ruby和JavaScript等言语。其功用含盖主动的PXE方法的操作系统
装置,DHCP服务,Orchestration服务和puppet装备管理相关服务等,此外还有OpenStack要害事务健康查看和log
实时查看等非常好用的服务。
Fuel,这款让很多人即爱且痛的东西,在国内外都很盛名。爱的原因是,它确实很棒;痛的原因是,要想完全把握
它,可不是一件容易事(各个模块集成度高、运用技能杂乱)。已然提到Fuel,天然不能不提它的爸爸妈妈——Mirantis。Mirantis是一家技能实
力非常雄厚的OpenStack服务集成商,他是社区奉献排名前5名中唯一一个靠OpenStack软件和服务盈利的公司。一起,Fuel的版本节奏也很
快,平均每半年就能供给一个相对安稳的社区版。
从和笔者接触到的一些情况来看,国内研讨、运用Fuel的个人、集体还是为数不少的。不少国内OpenStack初创公司的装置包就是根据Fuel去修改的。
评论前必须登录!
注册