OpenStack基础概念
openstack 组件介绍
1.horizon -- UI模块 为云管理提供整体视图,以实现资源整合和管理配额 为终端用户提供自动服务门户,在自由范围内自由操作,使用资源
2.keystone -- 身份服务模块 User:即用户,代表可以通过keystone访问程序的人或用户,User通过认证信息(如密码,API KEYS等)进行验证 tenant:即租户,它是各个服务中的一些可以访问的资源集合 role:即角色,Roles代表一组用户可以访问的资源权限 比如一个家庭买了100平米的房子,那么家庭能访问的100平米的房子的所有资源就叫做tenant,家庭中的每一个人便是user。 但是父母对房子的支配权肯定比孩子要大,那么每个人所能支配资源的权限便是role
service:即服务,如Nova,glance,swift。服务在keystone上进行注册 endpoint:可以理解为服务暴露出来的一个访问点,如果访问一个服务则必须知道它的访问点 Token:访问资源的令牌,现实中的钥匙,具有时效性 可以把keystone理解为黑中介,那么service便是黑中介手上的房子的资源,endpoint是房子的地址,token是打开房子的钥匙 用户必须从keystone(黑中介)手上,拿到房子的(endpoint)地址,拥有(token)钥匙,才能对房子(service)进行使用
keystone提供的服务 identity服务验证了身份验证凭证 token服务将会验证并管理用户验证身份请求的令牌 catalog服务提供了可用于端点发现的服务注册表。每个OpenStack服务要在keystone上注册,实际上便是注册到catalog上面 policy暴露了一个基于规则的身份验证引擎
3.Nova -- 计算服务 OpenStack的核心服务,主要功能包括 实力生命周期管理 计算资源管理,当用不了那么多的资源时,便可退还一部分 向外提供rest风格的api
Nova组件主要由三个功能不同的模块组成 Nova-api:位于表示层,主要用于接收外部的rest请求 Nova-schedule:位于逻辑控制层,主要负责居中调停,选择由哪个主机来创建VM Nova-compute:负责虚拟机的创建,资源的分配等等。 Nova-compute本身不支持虚拟化功能,但支持各种虚拟化形式
这三个组件并不是直接访问的,而是通过消息队列(如rabbitMQ) User request到来,先到达Nova-api,Nova-api将消息传递给消息队列。消息队列然后将请求转交给Nova-scheduler, Nova-scheduler作为调度的中枢,根据不同的考虑,比如负载较轻,可用性高等等,选择不同的host。当host选择结束, 会将消息传递给消息队列,消息队列再将信息传递给Nova-computer,由Nova-computer创建虚拟机
4.glance -- 镜像服务 提供虚拟机镜像的存储,查询和检索服务 为Nova组件提供服务,Nova要创建虚拟机,必须要先从glance组件这里获取镜像 依赖于存储服务和数据库,存储主要存储镜像本身,数据库则储存跟镜像相关的数据 无论是web portal还是command line interface请求,都要先到达glance-api里面, 由glance-api进行解析,然后在glance-registry进行查询相应的信息,比如版本,操作系统,选择合适的镜像, 然后到database里面找到合适镜像的位置,再根据位置到image store获取相应的镜像
5.swift -- 对象存储服务组件 和nova一样,OpenStack最早的两个服务之一 高可用分布式对象存储服务,不用担心数据丢失等等,因为有备份 定位:account --> container --> object,一个的账户的容器的对象 可以通过HTTP(S),Object API及S3接口存取
6.cinder -- 块存储服务 管理所有的块存储服务,为VM服务 cinder-request还是先到达cinder-api,然后要到达消息队列,再到达cinder-scheduler决定在哪个host上创建vm, 最后由cinder-volume创建虚拟机
7.Neutron -- 网络服务 提供云计算下的虚拟网络功能 给每个租户独立的网络环境 三种模式:flat模式,flat DHCP模式,VLAN模式 flat和flat DHCP是比较典型的网桥模式,前者需要手工配置,后者在网关出起了DHCP进程可以辅助用户进行配置 VLAN为每个不同的用户设立了不同的虚拟子网,用户在虚拟子网中可以有自己的虚拟ip,用户需要的时候可以在这些 私有ip中进行选择,分配给不同的虚拟机
OpenStack各组件之间的联系

OpenStack访问控制流程

OpenStack基础概念的更多相关文章
- 2019-04-18-NFV基础概念
NFV技术的起源和概念 在移动互联网时代,运营商面临内外困局.就自身而言,采用的流量增长-网络扩容-收入增长的商业模型正在失效,庞大.僵化的电信基础网络,不能够满足用户的丰富需求:就竞争对手而言,互联 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- 【转】《从入门到精通云服务器》第六讲—OpenStack基础
前五期的<从入门到精通云服务器>受到了广泛好评,收到留言,有很多读者对云计算相关的技术非常感兴趣.应观众要求,我们这期要安利一条纯技术内容.准备好瓜子.花生,随小编一起进入OpenStac ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
- 快速入门系列--WCF--01基础概念
转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
- JavaBean 基础概念、使用实例及代码分析
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
- RabbitMQ基础概念详细介绍
http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...
随机推荐
- 初见spark-03(高级算子)
最近心情不是很好,但是需要调节自己,真的需要调节自己,还是要努力,这个世界有我喜欢的人,有我追求的人,也许真的是守的住寂寞,耐得住繁华吧. 不说别的了,今天我们来接受啊spark的高级算子的系列 1. ...
- 3611: [Heoi2014]大工程
3611: [Heoi2014]大工程 链接 分析: 树形dp+虚树. 首先建立虚树,在虚树上dp. dp:sum[i]为i的子树中所有询问点之间的和.siz[i]为i的子树中有多少询问点,mn[i] ...
- Android学习记录(5)—在java中学习多线程下载之断点续传②
在上一节中我们学习了在java中学习多线程下载的基本原理和基本用法,我们并没有讲多线程的断点续传,那么这一节我们就接着上一节来讲断点续传,断点续传的重要性不言而喻,可以不用重复下载,也可以节省时间,实 ...
- Android学习记录(1)—Android中XML文件的序列化生成与解析
xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较 ...
- Category的真相
Objective-C 中的 Category 就是对设计模式中装饰模式的一种具体实现.它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法. 使用场景 根据苹果官方文档对 Categor ...
- 修改window 10 开始菜单问题
cmd->powershell Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register "$($ ...
- 《Cracking the Coding Interview》——第14章:Java——题目3
2014-04-26 18:59 题目:final.finally.finalize有什么区别? 解法:烂大街之java语法题.此题被多少公司考过我不知道,反正我确实遇见过一次了. 代码: // 14 ...
- NOIP2018 集训(一)
A题 Simple 时间限制:1000ms | 空间限制:256MB 问题描述 对于给定正整数\(n,m\),我们称正整数\(c\)为好的,当且仅当存在非负整数\(x,y\)使得\(n×x+m×y=c ...
- TW实习日记:第四天
第四天 早上第一件事就是和组长说前一天的需求的事,简而言之就是两个导航栏不属于一个标签内,自定义导航栏属于<body>下的<header>,微信顶部的则是<head> ...
- 第二阶段团队冲刺-five
昨天: 用servlet完成名单打印功能. 今天: 完成打印名单的功能. 遇到的问题: 在jsp中调用java方法与在main函数中的测试结果一致.