OpenStack及其构成简介
新的一年新的开始,突然想学习下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及其构成简介的更多相关文章
- OpenStack云计算快速入门之一:OpenStack及其构成简介
原文:http://blog.chinaunix.net/uid-22414998-id-3263551.html OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助 ...
- OpenStack及其构成简介1
第一部分 OpenStack及其构成简介 一.云计算 云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样 ...
- OpenStack Keystone V3 简介
Keystone V3 简介 Keystone 中主要涉及到如下几个概念:User.Tenant.Role.Token.下面对这几个概念进行简要说明. User:顾名思义就是使用服务的用户,可以是人. ...
- OpenStack Magnum项目简介
1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...
- OpenStack Smaug项目简介
1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...
- 第一部分 OpenStack及其构成简介
一.云计算 云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样.因需而定.提供方便.动态改变和无限的虚拟 ...
- openstack部署工具简介
个人使用方面DevStack无疑,在可预见的未来时间内,DevStack仍将是众多开发者们的首选安装方式或工具.该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境.Gi ...
- OpenStack 云计算基础知识
OpenStack Docs: Currenthttp://docs.openstack.org/ OpenStack云计算快速入门教程 - OpenStack及其构成简介_服务器应用_Linux公社 ...
- OpenStack知识点详解
一:云计算 一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...
随机推荐
- PCB信号集
每一个进程都有一个pcb进程控制块,用来控制进程的信息,同时信号在pcb中有两个队列去维护他,一个是未决信号集,每一位对应一个信号的状态,0,1,1表示未决态,另一个是信号屏蔽字(阻塞信号集),也就0 ...
- 这是一款可以查阅Github上的热门趋势的APP
随时查阅当前Github上的热门趋势.使用Material Design设计风格,和流行的MVP+Retrofit+RxJava框架.数据抓取自https://github.com/trending ...
- IE8上传文件时javascript读取文件的本地路径的问题("C:\fakepath\")的解决方案
<script type="text/javascript"> function getPath(obj) { if (obj) { ) { obj.select(); ...
- 令人费解的java泛型
对于我们java中的泛型,可能很多人知道怎么使用并且使用的还不错,但是我认为想要恰到好处的使用泛型,还是需要深入的了解一下它的各种概念和内部原理.本文将尽可能的囊括java泛型中的重要的概念 ...
- linux oracle 10g 安装时 .bash_profile的设置
export ORACLE_BASE=/home/oracle/oracle10g export ORACLE_SID=ccpbs export ORACLE_HOME=$ORACLE_BASE/pr ...
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试
承接上文,该篇即为项目整合的介绍了. 废话不多说,先把源码和项目地址放上来,重点要写在前面. github地址为ssm-demo 你也可以先体验一下实际效果,点击这里就行啦 账号:admin 密码:1 ...
- 201521123014 java第一周总结
201521123014 java第一周总结 1.本周学习总结 刚认识这一门新语言,我就充满了好奇心,想看看Java和学过C语言,C++有什么区别.在这一周的学习中,我认识到,对于初学者而言,Java ...
- 调用android方法,出现版本太低解决方法
原因如下图所示: 调用需要API级别11,当前是8. 解决方法如下图所示: 点击
- Ceph osd启动报错osd init failed (36) File name too long
在Ceph的osd节点上,启动osd进程失败,查看其日志/var/log/ceph/ceph-osd.{osd-index}.log日志,报错如下: 2017-02-14 16:26:13.55853 ...
- mysql中的一些操作语句,留存
CREATE TABLE `poision` ( `username` varchar(20) NOT NULL , `nowtime` varchar(50) NOT NULL , `poision ...