大家好,我顾某人又回来了,开学第一更。。。。
以下内容均为个人理解和整理,有不对的地方还望dalao指正。。。。。
本文所用图片均已标明来源。

openstack是什么?
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

openstack组成
openstack由以下七个主要部分组成:

  • Nova:计算服务
  • Neutron:网络管理服务
  • Keystone:认证服务
  • Swift:对象存储服务
  • Cinder:块存储服务
  • Glance:镜像管理服务
  • Horizon:操作界面

openstack整体架构
图源网络

openstack组成详解

Nova

Nova提供CPU、内存、网络适配器和硬件驱动器等服务器资源虚拟化的功能,提高了资源的利用率。
通过Nova api来接受和响应用户的请求,实时对VM进行启动、挂起、停止等功能。
Nova主要包含的组件有:

  • Nova-api
    响应用户的请求
  • Nova-scheduler
    负责VM的调度,决定了VM运行在哪台主机上。
  • Nova-compute
    管理VM实例的生命周期
  • Nova-conductor
    计算服务与数据库的交互中介,避免直接访问数据库
  • Nova-console
    提供访问VM的控制台
  • Nova-consoleauth
    负责对VM控制台的请求提供Token认证
  • Nova-cert
    提供证书
  • Hypervisor
    虚拟化管理程序,用于实现硬件的虚拟化
  • database
    用于存放一些Nova的数据
  • message queue
    用于Nova子服务之间的相互协调和通信

Neutron

Neutron架构,图源CloudMan

Neutron通过pluginagent提供的网络服务。
调用网络的API分为以下两种:

  • Core API
    对外提供networksubnetport的API
  • Resource and Attribute Extension API
    对外提供管理routerload balancefirewall等资源的API。

Neutron的plugin分为Neutron Core PluginsNeutron Service Plugins

  • Neutron Core Plugins
    Neutron的核心插件,实现Core API在数据库中维护networksubnetport的状态,并负责调用相应的agentnetwork provider上执行相关操作.
  • Neutron Service Plugins
    Neutron的扩展插件,实现Extension Plugin API,在数据库中维护routerload balancesecurity group等资源的状态,并负责调用相应的agentnetwork provider上执行相关操作.

Message Queue:消息队列
用于PluginsAgent相互之间的调用.

Keystone

keystone为openstack组件提供认证服务和管理用户及其权限。
keystone中有几个重要的概念要了解一下:User(用户)、Role(角色)、Tenant(租户)、Service(服务)。

  • User 用户,keystone的授权用户
  • Role 角色,表示用户可以访问资源的权限
  • Tenant 租户,各个服务中可以访问的资源合集
  • Service 服务,租户可以提供的服务

keystone的运作流程大概是这样的:当User想要去访问某个Service时,首先他要向keystone出示它的Credentials,Keystone认证之后会给User一个Token,然后User就可以使用这个Token去访问Service,这时这个Service就会向keystone去验证User的Token,如果验证成功,那么User就成功访问到Service中的Endpoint,且User的Role越高,访问到的Service越多。
通俗的来讲是这样的:
User|住酒店的人
|:-|:-
Tenant|酒店
Credentials|酒店房间钥匙
Authentication|房客认证机制
Token|发给能打开房间的人的凭证,用于享受酒店的服务
Service|酒店提供的一种服务
Endpoint|酒店提供服务中的具体服务
Role|酒店会员等级

Swift

Swift为OpenStack提供一种分布式、持续虚拟对象存储,主要用于存储大的对象文件,比如虚拟机的备份。

Cinder

openstack的一种块存储方式,挂载给虚拟机使用,可以给虚拟机提供额外的空间。
swift和cinder的比较
swift类似于保存PC的系统,而cinder类似于保存PC里面的文件。

Glance

openstack中用于保存创建VM的镜像,比如,现在现在需要安装一个win7的操作系统给公司的某个员工使用,按照传统的操作方式需要花费大量时间,但是现在在云环境中,只需要直接从glance中按模板启动win7即可,二七人只许耗费几秒钟的时间
glance包括glance-apiglance-registrystore backend.

  • glance-api
    对外提供API,用于响应image的查询、获取等调用。
  • glance-registry
    用于处理和存取image的的元数据,例如大小、类型等,并且戴护具对应到Database
  • store backend
    用于存放image

Horizon

简单的来说,Horizon是一个web接口,用于将openstack的资源聚集到一起并进行图形化管理。

最后骗一波流量个人博客

简述openstack的更多相关文章

  1. CentOS7.4安装部署openstack [Liberty版] (二)

    继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...

  2. CentOS7.4安装部署openstack [Liberty版] (一)

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

  3. 马哥教育Linux网络班结业考试(架构师)-简答题题目(附答案)

    1.叙述 centos7 启动图形界面的开机启动流程? 答:新版本的CentOS7里,已经做了调整.具体/etc/inittab 文件的第7行已经做出了说明: 系统已经使用'targets' 取代了运 ...

  4. OpenStack概念架构简述

    什么是OpenStack OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云 ...

  5. 大型网站技术学习-2. 云计算之OpenStack简述

    上一章讲,虚拟化能够充分的利用资源,带来各种各样的好处. 当一个网站不大,只需要四五台机器就可以支撑的时候,可以采用手工的方式虚拟机,但是当网站流量很高,需要成千上万台机器的时候,那就非常不方便了. ...

  6. Openstack 架构简述

    概述 在学习OpenStack的过程中,感觉对整个OpenStack的架构稍稍有些了解,所以将这些记录下来,一来防止自己忘记,二来也可以对有需要的人提供帮助 本文章相关的灵感/说明/图片来自于http ...

  7. Openstack简述

    1.Openstack项目发展概况: Nova 计算服务 Swift 对象存储服务 Glance   镜像服务 Neturon 网络服务 Keystone   身份认证服务 Celimeter   计 ...

  8. openstack学习心得:keystone 架构、概念、访问流程

    1.keystone 介绍及其组成 OpenStack Identity 服务提供了一个单一的功能集合,包括管理认证,授权和服务目录. Identity 服务通常作为和用户第一个交互的服务.一旦认证成 ...

  9. [转帖]Qemu 简述

    Qemu 简述 记得KVM 就是 底层用的qemu https://www.cnblogs.com/bakari/p/7858029.html 本文首发于我的公众号 Linux云计算网络(id: cl ...

随机推荐

  1. maven创建一个简单的web项目

    1.确认maven插件和配置在eclipse中已经完成 如果没完成,可参考这篇博客:http://www.cnblogs.com/mmzs/p/8191979.html 2.在eclipse中用mav ...

  2. Webapi--Webapi 跨域链接

    1]创建 WebAPIWebAPI WebAPI,新建 ,新建 ->项目 ->ASP.NET Web >ASP.NET Web >ASP.NET Web >ASP.NET ...

  3. C# 显式转换关键字 explicit

    不同于隐式转换,显式转换运算符必须通过转换的方式来调用. 如果转换操作会导致异常或丢失信息,则应将其标记为 explicit. 这可阻止编译器静默调用可能产生意外后果的转换操作. 省略转换将导致编译时 ...

  4. sql server 查询时会锁表吗?

    sql server在执行查询语句时会锁表.在锁表期间禁止增删改操作. 如果不想锁表,那就再表名或别名后面加上WITH(NOLOCK) 如下所示:

  5. java回调函数学习

    前不久学习了代理模式,其中有一个核心之一是Proxy.newProxyInstance();这里有三个参数, loader:目标对象的类加载器 interfaces:目标对象实现的所有接口组成的数组 ...

  6. vue-基于elementui换肤

    思路: 生成不同的css颜色文件,每个文件内部命名前加上.custom-颜色值做命名空间. 然后app.vue里引入全部的颜色文件. 用户点击某颜色,就在body加上class:custom-00a5 ...

  7. JAVA 多线程(4)

    接着3说: 一.String常量池 先回顾 java 的基本数据类型: 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配 ...

  8. vuejs-指令详解

    v-if v-if指令可以完全根据表达式的值在DOM中生成或移除一个元素.如果v-if表达式赋值为false,那么对应的元素就会从DOM中移除:否则,对应元素的一个克隆将被重新插入DOM中,代码如下: ...

  9. 洛谷P4103 [HEOI2014]大工程(虚树 树形dp)

    题意 链接 Sol 虚树. 首先建出虚树,然后直接树形dp就行了. 最大最小值直接维护子树内到该节点的最大值,然后合并两棵子树的时候更新一下答案. 任意两点的路径和可以考虑每条边两边的贡献,\(d[x ...

  10. 洛谷P4590 [TJOI2018]游园会(状压dp LCS)

    题意 题目链接 Sol 这个题可能是TJOI2018唯一的非模板题了吧.. 考虑LCS的转移方程, \[f[i][j] = max(f[i - 1][j], f[i][j - 1], f[i - 1] ...