1、OpenStack是什么?

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

2、OpenStack的九大组件

组件用途说明
Horizondashboard一个基于web界面用于管理Openstack的服务。它提供了图形化的用户界面用于管理Openstack中的其他服务。例如:发布实例、管理网络、设置访问控制等
Keystoneidentity一个集中的身份验证服务,为Openstack中其它服务提供验证和授权。Keystone提供了一个中心的登记册,可以把Openstack中的其他服务添加或从keystone中删除。Keystone提供了多种方式的验证,包括基于用户名密码、基于令牌系统和AWS的logins。Keystone扮演着一个SSO身份。(SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。)
Neutronnetworking目前在openstack中用于处理虚拟网络基础设施的创建和管理的服务。内容包括网络、子网、路由等。由于opensack的可插入式模块化架构,像防火墙、VPN等高级的服务也可以使用。
Cinderblock storage一种管理虚拟机存储卷的服务。为运行在Nova中的实例提供持续的块存储。快照的功能在cinder中常被使用。快照可以备份数据,用于数据的恢复,或用于克隆创建新的块存储。
Novacomputer一种用于管理运行在节点上的虚拟机网络和提供虚拟机硬件需求的服务。Nova是一个分布式的组件,使用接口让Keystone来提供认证,Glance提供虚拟机的image镜像,Horizon提供web管理界面。Nova被设计成使用scale-out方式水平地管理硬件资源,下载image,然后按照需求来发布实例。Nova使用libvirtd,qemu,and kvm技术来运行虚拟机。
Glanceimage提供发布实例时的镜像模板集中管理
Swiftobject storage一个提供对象存储,允许用户存储和检索文件的服务。Swift架构是分布式的,允许水平缩放存储空间提供冗余失效验证保护。使用软件管理数据复制,比硬件设施具有更好的扩展性和冗余性
CeilometermeteringCeilometer监控通过在计算节点部署compute服务,轮询其计算节点上的instance,获取各自的cpu、网络、磁盘等监控信息,发送到RabbitMQ,Collector服务负责接收信息进行持久化存储。Ceilometer项目创建时最初的目的是实现一个能为计费系统采集数据的框架。在G版的开发中,社区已经更新了他们的目标,新目标是希望Ceilometer成为OpenStack里数据采集(监控数据、计费数据)的唯一基础设施,采集到的数据提供给监控、计费、面板等项目使用。他像一个漏斗一样,能把openstack内部发生的几乎所有的时间都收集起来,然后为计费和监控以及其他服务提供数据支撑。
Heatrochestration使用及通过REST API和AWS的cloudFormation兼容查询API使用cloudFormation模板格式编排多个混合的云计算应用程序的服务。Heat整合其他openstack的核心组件成为一个文件模板系统,允许使用这个模板创建大多数的资源类型(如:实例、高可用性、实例自动缩放、嵌套堆栈)。

3、OpenStack九大组件之间的关系图

在这里插入图片描述
在这里插入图片描述

4、OpenStack的其他常用组件

组件说明
maria DBmysql数据库
manila共享文件系统
aodh警报系统,主要提供预警和计量通知服务
panko主要提供事件存储服务
gnocchi提供资源索引和存储时序计量数据
sahara使用用户能在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的EMR服务。
magnum提供容器即服务的API框架
trove为用户提供的数据库即服务(DBaaS)。所谓DBaaS,即trove既具有数据库管理的功能,又具有云计算的优势。
ironic是一个进行裸机部署安装的项目
clientopenstack客户端软件包(命令行工具)
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐