一、OpenStack简介
1. OpenStack概述
- NASA(美国国家航空航天局)和Rackspace共同发起
- 以Apache许可证授权的自由软件和开放源代码项目
- 为公有云及私有云的建设与管理提供软件的开源项目
- 覆盖了网络、虚拟化、操作系统、服务器等各个方面
2. OpenStack服务
2.1 8个核心服务
都是为虚拟机提供服务的
- Commpute
- NetWork
- Identity
- Identity
- Identity
- Image Server
- Block Storage
- Object Storage
- Telemetry
2.2 8个核心组件
- Nova
- Neutron
- Keystone
- Horizon
- GIance
- Cinder
- Swift
- Ceilometer
2.3 组件的详细解释
2.3.1 Nova(核心组件)(负责生命周期管理)
- OpenStack获取底层虚拟化技术,就是转化过来的虚拟资源是通过一个统一的入口来接收的,这个入口就是Nova,也就是说Nova管理的是所有的虚拟化资源,可以把虚拟化资源拿过来给虚拟机使用,从而让虚拟机正常运行
也就是说它调用的对象就是支撑实例运行的资源基础,所有它可以管理实例的生命周期 - Hypervisor(虚拟机管理器),它是将物理资源转化为虚拟化资源供给虚拟机使用,这边实例创建后资源不是通过hypervisor或其他虚拟化技术来供给虚拟机的,而是由Nova作为统一调用,在由Nova输送给虚拟机,所以才会对Hypervisor进行屏蔽,其中Nova还可以通过多种不同的驱动,来支持多种不同的虚拟化技术,来达到横向扩展,达到一个通用性
2.3.2 Neutron(负责虚拟网络的管理)
- 就相当于连接内外网,可以让实例与外界相同
- 对一部分的资源的一个租令,从而自已定义分配资源,与其他租户之间互不影响,从而更方便管理
2.3.3 Keystone(全局组件)
- 主要用于OpenStack中的所有组件之间相互交互、对接的认证机制,可以对用户等进行认证与授权
2.3.4 Horizon(Ui页面)
- 给使用者提供一个友好的管理界面,在控制台选择好自已需求的规格,然后进行创建控制台会把我们的需求,传递给OpenStack底层从而对我们的需求进行创建
2.3.5 Glance(镜像模板)
- 提供虚拟机镜像模板的注册与管理,如搭建一个负载均衡架构,封装为一个镜像,这个镜像就相当于一个负载均衡架构模板,只需要下载这个镜像,就可以供给多个用户使用,然后用这个镜像去创建虚拟机,创建出来的就是负载均衡架构的操作系统
2.3.6 Cinder(块存储)
- 负责为运行实例提供持久的块存储设备,可以方便的扩展,按需付费,因为它不只是为一个用户提供服务是为多个用户提供,所以它支持的是多种后端存储类型
2.3.7 Swift(对象存储)
- 为OpenStack提供基于云的弹性存储,支持集群无单点故障,它其实就是键值对的存储,存储的资源就是一些静态资源,它不能再对象存储中的内部直接修改源文件,而是需要下载下来才可以修改,然后在推送上去已做更新
2.3.8 Ceilometer(度量,监控)
- 用于管理用户对资源的租期管理,为用户提供记账途径
2.4 Keystone工作流程
二、OpenStack优势
控制性
- 完全开源的平台,提供API接口,方便与第三方技术集成
兼容性
- OpenStack兼容其他公有云,方便用户进行数据迁移
可扩展性
- 模块化设计,可以通过横向扩展,增加节点、添加资源
灵活性
- 根据自已的需要建立相应基础设施、增加集群规模
行业标准
- 众多IT领军企业已经加入到OpenStack项目
三、OpenStack架构规范
在学习openstack部署与运维之前,需要熟悉它的架构和运行原理,OpenStack作为开源、可扩展、富有弹性云操作系统,其设计基本原则如果下:
- 按照不同的功能和通用性划分不同项目,拆分子系统
- 按照逻辑计划、规范子系统之间的通信
- 通过分层设计整个系统架构
- 不同的功能子系统间提供统一的API接口
四、OpenStack架构概念
4.1 OpenStack架构图
核心是为虚拟机,所有的组件都是围绕着虚拟机提供服务的
4.2 红框中的为全局组件:
Keystone:为所有服务模块提供认证与授权
Ceilometer(c了咪特):度量、监控所有数据资源
Horizon(合软森):UI平台管理,提供一个Web管理页面,为底层交互
4.3 绿框中为外部(辅助)组件(主要提供一些必要的管理和资源服务):
Ironic(i软您):提供裸金属环境(没有操作系统的计算机硬件,简称裸机)
Trove(创服):提供管理数据库服务(控制关系型和非关系型数据库)
heat(嘿特),sahara(死好让):提供对数据管理和编排
4.4 蓝框中为内部核心组件(主要是维持虚拟机正常运作的一些组件):
Glance(哥浪次):提供镜像服务
Neutron(牛装母):提供网络服务
Swift(死瑞服特):提供对象存储资源
Cinder(cing的):提供块存储资源(提供持久化存储,同时也会备份一份,从而解决了单点故障的问题)
Nova:管理实例的生命周期,并负责管理调用上面的四个资源给虚拟机使用
4.5 具体流程
云平台用户在经过Keystone服务认证授权后,
通过Horizon或者Rest API模式创建虚拟机服务,
创建过程中包括利用Nova服务创建虚拟机实例,
虚拟机实例采用Glance提供镜像服务,
然后使用Neutron为新建的虚拟机分配IP地址,并将其纳入虚拟网络中,
之后在通过Cinder创建的卷为虚拟机挂载存储块,
整个过程都在Ceilometer模块资源的监控下,
Cinder产生的卷(Volume)和Glance提供的镜像(Image),可以通过Swift的对象存储机制进行保存
来源:oschina
链接:https://my.oschina.net/u/4316562/blog/4929328