新的一年新的开始,突然想学习下Openstack,之前了解过很多,但是想系统的学习一下,第一次写博客,只想把学到的东西记录下来加深印象,如有写的不好的地方请多多见谅。下面开门见山。

1.What is OpenStack?

是 Rackspace(贡献swift)和NASA(贡献nova)共同发起的开源项目,是一系列软件开源项目的组合。基础设施资源管理平台(类似操作系统可以管理硬件池,可以根据需求提供资源)。

OpenStack三大核心组件(网络,计算,存储)

概念架构图

逻辑架构图

Core Services (6)

NAME SERVICE
KEYSTONE Identity 认证*
GLANCE Image 镜像*
NOVA Compute 计算*
NEUTRON Networking 网络*
CINDER Block Storage 块存储
SWIFT Object Storage 对象存储



Optional Services (13)

NAME SERVICE
Horizon Dashboard 面板*
Heat Orchestration 编配
Ceilometer Telemetry 监控
Sahara Elastic Map Reduce 大数据部署
....... .......



1.Horizon(UI模块)

页面调用api(两种用户云管理员,云用户)

2.keystone(身份服务模块)

1)用户身份认证(Idemity)

user:用户(租户下有很多用户,验证方式用户名密码,API keys等)

kenant:租户(可以访问资源的集合)

role:角色 (一组用户可以访问资源的权限)

2)访问请求控制(Token)

Service(nova,glance,swift等服务需要在keystone上注册)

Endpoint(service暴露出来的访问地址)

Token(访问资源的令牌,具有时效性)

3)注册表服务(Catalog)

openstack服务需要注册到keystone注册表中

4)身份验证引擎(Policy)

决定用户有哪些访问控制权限

易购环境的集成(Key Value Store,MemcachedSQL,PAM,LDAP)

3.Nova(计算服务组件)

openstack核心组件,核心服务包括:实例生命周期的管理(虚拟机),计算资源的管理,对外提供Restful API。

Nova组件主要有三个模块构成(nova-api,nova-scheduler,nova-compute),

nova-api在表示层主要负责处理外部请求,nova-scheduler在逻辑控制层,主要负责选择那个主机创建VM,nova-compute虚拟机创建和资源分配,不提供虚拟化功能,但是支持kvm,LXC,xen等。

三个组件通过rabbit MQ进行消息传递。

4.Glance(镜像服务组件)

主要功能:提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务(存储镜像本身)和数据库服务(存储镜像相关的数据)。

5.Swift(对象存储服务模块)

openstack核心组件,主要功能:高可用分布式对象存储服务,特点是无限和扩展没有单点故障。

account-->container-->Object 某个账户下的某个容器的某个对象,可以通过HTTP(S),Object API,S3进行存取。

6.Cinder(块存储服务模块)

主要功能:管理所有块存储设备,为VM服务。

cinder-api处理发送过来的请求,处理结果发送到rabbit MQ,通过消息中间件把所有请求发送到cinder-scheduler,通过调度器决定存储到哪里,并且创建VM,cinder-volume管理存储模块的生命周期。

7.Neutorn(网络服务组件)

主要功能:为云计算提供虚拟的网络功能,为每个不同的租户建立独立的网路环境。

三种不同的网络模式(Flat模式 Flat DHCP模式,Vlan模式)

8.Ceilometer(监控服务组件)

Ceilometer 的目标是 计量 Metering 方面,为上层的计费、结算或者监控应用提供统一的资源使用数据收集功能。

核心组件间的关系

访问控制流程

以上是对openstack组件的基础介绍,后续将会陆续更新openstack相关的其他内容。如有错误欢迎指出。

OpenStack及其构成简介的更多相关文章

  1. OpenStack云计算快速入门之一:OpenStack及其构成简介

    原文:http://blog.chinaunix.net/uid-22414998-id-3263551.html OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助 ...

  2. OpenStack及其构成简介1

    第一部分 OpenStack及其构成简介 一.云计算   云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样 ...

  3. OpenStack Keystone V3 简介

    Keystone V3 简介 Keystone 中主要涉及到如下几个概念:User.Tenant.Role.Token.下面对这几个概念进行简要说明. User:顾名思义就是使用服务的用户,可以是人. ...

  4. OpenStack Magnum项目简介

    1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...

  5. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

  6. 第一部分 OpenStack及其构成简介

    一.云计算   云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟 ...

  7. openstack部署工具简介

    个人使用方面DevStack无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选安装方式或工具.该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境.Gi ...

  8. OpenStack 云计算基础知识

    OpenStack Docs: Currenthttp://docs.openstack.org/ OpenStack云计算快速入门教程 - OpenStack及其构成简介_服务器应用_Linux公社 ...

  9. OpenStack知识点详解

    一:云计算     一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...

随机推荐

  1. JavaScript 事件总结

    本文总结自<JavaScript高级程序设计>以及自己平时的经验,针对较新浏览器以及 DOM3 级事件标准(2016年8月),对少部分内容作了更正,增加了各种例子及解析. 如无特殊说明,本 ...

  2. javascript小测试

     测试地址:http://toys.usvsth3m.com/javascript-under-pressure/ 在群里看到测试网站做着玩,希望你能过关,不能,且看下面答案(为了过关,不惜不够严谨) ...

  3. Top 10 Books For Advanced Level Java Developers

    Java is one of the most popular programming language nowadays. There are plenty of books for beginne ...

  4. LruCache原理解析

    LruCache是一个泛型类,它内部采用LinkedHashMap,并以强引用的方式存储外界的缓存对象,提供get和put方法来完成缓存的获取和添加操作.当缓存满时,LruCache会移除较早的缓存对 ...

  5. angular ui-router 正则

    {id:[0-9a-fA-F]{1,8}} 如果在找ui-router 时,会看到以上的正则 我解释一下 id是param,可以把必备的结果收起来 []里面的必配的正则,但只是给一个string {} ...

  6. JavaScript学习--8.1

    JavaScript学习--8.1(常见的js代码兼容工具总结) 1.取css样式表和非行间样式的属性 function getStyle(obj,attr){ if(obj.currentStyle ...

  7. sql语句,实践证明了某种情况下not in的效率高于not exists

    只要百度not in和not exists,清一色的not exists的效率优于not in,毕竟not exists只是去强调是否返回结果集,只是一个bool值,而not in是返回一个结果集,是 ...

  8. Prerender.io - 预渲染架构,提高AngularJS SEO

    近些年来,越来越多的JavaScript框架(即AngularJS,BackboneJS,ReactJS)变得越来越流行.许多公司和开发人员使用这些JavaScript框架开发应用程序.这些框架有很多 ...

  9. 深入Redux架构

    关于redux 之前写了一篇通过一个demo了解Redux,但对于redux的核心方法没有进行深入剖析,在此重新总结学习,完整的代码看这里.(参考了React 技术栈系列教程) 什么情况需要用redu ...

  10. ThreadLocal笔记

    1.ThreadLocal的作用是什么?        ThreadLocal是一个泛型类,将保存在其中的值与当前的线程关联起来,这样每个线程看到的值对于其他线程来说都是不可见的,这个技术被称为线程封 ...