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 引言 你是否遇到过两个(多 ...
随机推荐
- hive-pom.xml
4.0.0 <groupId>com.cenzhongman</groupId> <artifactId>hive</artifactId> <v ...
- 利用js实现倒计时
倒计时 这个名词并不陌生,比如:天猫,京东等一些网上商城都会推出一些限时特价商品,今天我们就一起编写一个属于自己的倒计时: Ps: 首先做一件事情的时候,不应该盲目的去做,应该首当其冲的去想,脑子里面 ...
- 05,Python网络爬虫之三种数据解析方式
回顾requests实现数据爬取的流程 指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据 ...
- P1875 佳佳的魔法药水
P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 ……怎么样才能 ...
- latex排版系统
proTeXt - MiKTeX-based distribution for Windows proTeXt aims to be an easy-to-install TeX distributi ...
- 以+scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?
这里强调一点:在主线程中以+scheduledTimerWithTimeInterval...的方式触发的timer默认是运行在NSDefaultRunLoopMode模式下的,当滑动页面上的列表时, ...
- 打开Vim/Vi代码高亮
由于新装Vim/Vi 默认是没有打开代码高亮配置的,就看到有朋友一次次到网上去找各种配置.其实Vim默认带来配置文件的样本的,只需拷贝过来就可使用. 在用户根目录(~)中新建vim的配置文件 .vim ...
- 了解JavaScript核心精髓(三)
1.js判断对象是否存在属性. hasOwnProperty(‘property’) 判断原型属性是否存在. "property" in o; 判断原型属性和原型链属性是否存在 ...
- 每天一个Linux命令(10):mv命令
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中.source表示源文件或目录,target表示目标文件或目录.如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆 ...
- JMeter学习笔记(五) 文件上传接口测试
此次测试的是上传图片接口,我把测试情况整理了一下,其他的上传文件接口都类似. 1.我通过jmeter的录制功能获取到了接口地址以及相关参数,如果有接口文档就会方便很多,此步骤就不多做说明了 2.因为上 ...