专栏首页海涛技术日常OpenStack 简介和几种安装方式总结

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。OpenStack是用Python编程语言编写的。 OpenStack核心项目:OpenStack是由很多核心项目组合在一起的。

计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。

对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。

镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。

身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。

网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。

块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。

UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。

安装方式:

1.DevStack 在相当长一段时间内,DevStack仍将是众多开发者的首选安装工具。该方式主要是通过配置一个安装脚本,执行Shell命令来安装OpenStack的开发环境,支持CentOS、Debian等系列系统。 2.RDO RDO是由Red Hat红帽开源的一个自动化部署OpenStack的工具,支持单节点(all-in-one)和多节点(multi-node)部署。但RDO只支持CentOS系列操作系统。需要注意的是,该项目并不属于OpenStack官方社区项目。 3.手动部署 按照社区官方提供的文档,可以使用手动方式部署单节点、多节点、HA节点环境。 4.Puppet Puppet由Ruby语言编写。Puppet是进入OpenStack自动化部署中早期的一个项目。目前,它的活跃开发群体是Red Hat、Mirantis、UnitedStack等。Mirantis出品的Fuel部署工具,其大量的模块代码使用的便是Puppet。 5.Ansible Ansible是一个自动化部署配置管理工具,已被Red Hat收购。它基于Python开发,集合了众多运维工具(Puppet、Chef、SaltStack等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible一方面总结了Puppet设计上的得失,另一方面也改进了很多设计。比如基于SSH方式工作,故而不需要在被控端安装客户端。 6.SaltStack SaltStack也是一个开源的自动化部署工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能,和Ansible很相似。不同之处是,由于SaltStack的Master和Minion认证机制及工作方式,因此需要在被控端安装Minion客户端。 7.TripleO TripleO项目最早由HP于2013年4月在Launchpad上注册BP,用于完成OpenStack的安装与部署。TripleO全称为“OpenStack On OpenStack”,意思为“云上云”,可以简单理解为利用OpenStack来部署OpenStack,即首先基于V2P(和P2V相反,指把虚拟机的镜像迁移到物理机上)的理念事先准备好一些OpenStack节点(计算、存储、控制节点)的镜像,然后利用已有OpenStack环境的Ironic裸机服务和软件安装部分的diskimage-builder部署裸机,最后通过Heat项目和镜像内的自动化部署工具(Puppet或Chef)在裸机上配置运行OpenStack。和其他部署工具不同的是,TripleO是利用OpenStack已有的基础设施来部署OpenStack的。 8.Fuel Fuel是针对OpenStack的一个可以通过“界面部署”的工具,它大量采用了Python、Ruby和JavaScript等语言。其功能涵盖了通过自动化PXE方式安装操作系统、DHCP服务、Orchestration编排服务和Puppet安装相关服务等,此外还有OpenStack关键业务健康检查和log实时查看等非常好用的功能。 9.Kolla Kolla是具有广阔应用前景和市场的一个自动化部署工具。相比于其他部署工具,Kolla完全革新地使用了Docker容器技术,将每一个OpenStack服务运行在不同的Docker容器中。

如上所述,OpenStack的安装部署方式多种多样,新手应该如何选择呢,这里,我推荐使用Rdo或手动部署方式(过程是艰难的,但能很好的加深对OpenStack的理解);对于老手而言,可以尝试使用Kolla方式,体验Docker和OpenStack融合的新方式。 当前,OpenStack除了与Docker融合相关的Kolla项目之外,社区还有诸如Magnum、Murano、Solum等非常优秀的项目。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算并发用户数的五种方法

    一、经典公式1: 一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据 1)平均并发用户数为 C = nL/T 2)并发用户...

    海涛
  • 基于网页接口做自动化测试(基于HttpRunner+Fiddler)

    1.安装Fiddler ,可以参考 http://together-learn.com/post/263

    海涛
  • 使用docker 基于pxc镜像搭建mysql高可用集群 原

    docker pull percona/percona-xtradb-cluster:5.7.21

    海涛
  • OpenStack技能短缺:部署成为挑战

    致力于OpenStack部署的企业,努力寻求拥有开源平台经验的IT专业人员。技能差距很快能弥补吗? 随着企业云实施的增加,OpenStack不断获得市场关注。但...

    静一
  • 企业对于OpenStack热情很高,但是采用率很低

    对于开源云计算市场来说,OpenStack是当时无愧的领导者——虽然其仍然存在很多需要完善的地方,下面的五点建议可以帮助管理员更好地理解OpenStack。 ?...

    静一
  • OpenStack的4个新指南和教程[Openstack]

    OpenStack仍然是科技行业最受欢迎的技能之一;如果您有坚实的OpenStack经验,那么几乎可以肯定能够找到工作。但是你如何获得这些技能呢?一旦你获得了这...

    用户6667850
  • 这是你如何OpenStack: 6个新的指南和教程[Openstack]

    云基础设施是一项极受欢迎的技能。如果您正在为您的云基础设施需求寻找开源解决方案,OpenStack很可能就是其中之一。

    用户6667850
  • 5个很棒的新OpenStack技巧和指南[Openstack]

    跟上新技术可能是一个挑战。在企业云软件的世界中,这一点可能是最正确的。似乎每天都会引入新的工具或应用程序,这些工具或应用程序很快就会成为组织的技术堆栈的一部分。

    用户6667850
  • OpenStack的6个新指南和操作指南[Openstack]

    如果您是OpenStack云的开发人员或管理员,那么肯定会遇到这种情况。大量可以帮助你的资源让学习新技能变得更容易。除了官方项目文档、来自您的发行或供应商的文档...

    用户6667850
  • 5个新的OpenStack资源[Openstack]

    通过这些指南,教程和其他重要的学习资产,可以随时掌握OpenStack技术方面的最新动态。

    用户6667850

扫码关注云+社区

领取腾讯云代金券