什么是OpenStack? OpenStack核心组件之运行流程

只愿长相守 提交于 2021-01-28 14:20:33

一、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的对象存储机制进行保存






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!