简述openstack

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

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

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

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

openstack整体架构
图源网络
1417438-20180904203800945-1209665279.jpg

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
1417438-20180904203807141-920932050.jpg
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的资源聚集到一起并进行图形化管理。

最后骗一波流量个人博客

转载于:https://www.cnblogs.com/Timesi/p/9588352.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue+layui获取CheckBox的值

vuelayui获取CheckBox的值 定义一样的name和v-filter 然后对其进行监听。

rocket-console控制台安装

1.下载 github地址:https://github.com/apache/rocketmq-externals 2.选择稳定版本: 3.下载到本地: 环境需求 maven jdk git clone https://github.com/apache/rocketmq-externals.git 4.修改配置: find -name application…

只允许对最后一条记录进行修改

今天做了个小功能想和大家分享一下在我任务描述里有个这样的描述:只能对最后一条记录进行修改。我刚开始我这样想的,每条记录前面都有给他一个radio,然后对你选择的数据去判断他是不是最后添加的那一条,后台发现这样有点难度&…

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。 一般可通过log_error设置 mysql> select log_error; ---------------…

vue复选框CheckBox清空选中的值

最近遇到了这样的一个问题,做了一个添加功能,发现添加了一次记录以后,添加第二次的时候,页面上复选框有我上次选中的值,后来试了很多方法,只有下面这个方法解决了这个问题。上面标出来的是对普通的input进行…

添加时,时间格式明明和数据库格式一样,却一直在报错,存不进去

数据库用的date,然后我前台也用的date格式,却存不进去,我还以为是缓存问题,然后一直在清缓存,结果没啥用, 后来在实体类加了DateTimeFormat这个注解,成功解决。

freemarker页面读取时间date类型报错

以前写过一篇添加时间添加失败的问题,现在我又发现了另外一个问题 刚开始我是这样放进页面,然后就报错,说freemarker的类型错误。我就去控制器打印输出这个时间,发现是有值得,但不是yyyy-mm-dd格式的,我数…

关于idea的git账号与电脑的git账号不一致的问题。已解决!

最近发现了一个问题,我进公司,公司给我发的电脑是别的同事用过的,然后上面呢保留了他的git账号,我要继续用这台电脑开发,用他的账号肯定是不行的,然后我就上网搜教程,搜到的教程全部都是让我删除…

codeforces CF986C AND Graph 建圖 dfs

$ \rightarrow $ 戳我進CF原題 C. AND Graphtime limit per test: 4 secondsmemory limit per test: 256 megabytesinput: standard inputoutput: standard outputYou are given a set of size $ m $ with integer elements between $ 0 $ and $ 2^n-1 $ inclusive. Lets build…

HackRF 无线门铃信号录制与重放

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 HackRF链接:https://item.taobao.com/item.htm?spma1z10.1-c.w4004-13257850194.8.69503d888aIzVL&id526187854860 无线门铃链接:https://item.…

springboot项目和云服务器,以及域名的申请和使用(后续持续更新)

来记录一下做一个springboot项目以及上传至云服务器上过程新建并发布项目注册域名:域名备案发现的问题:在阿里云上面搞了一台个人服务器,当时是双十一打折买的,229好像。有了服务器当然要干点什么,于是做了个springboo…

抢火车票软件的教程

抢火车票软件的教程 1. 先去GitHub上下载源文件testerSunshine。 2. 下载并安装python3.7.4。(安装完成在cmd中输入 Python -V,如果出现是的是Python3.7.4,就说明安装成功) 3. 控制cmd进入下载的源码的文件夹下,输入 pip3 instal…

使用大麦网抢票工具的一些心得体会

源码上传已到百度网盘了 详情参考的是大麦抢票工具GitHub 【 重要,用前必看!!!】 浏览器准备步骤(根据自己浏览器的版本来下载对应的driver驱动) (这个准备工作一定要做) 我来解…

[中山市选]杀人游戏 (Tarjan缩点)

题目链接 Solution 可以考虑到如果知道环内一点的身份,如果凶手在其中就查出来了,同时不会有危险. 那么对警察造成威胁的就是那些身份不明且不能从其他点转移过来的点. 那么大部答案就是缩完点之后入度为 \(0\) 的联通块数量. 但是,会有特殊情况: 如图,我们就只要查 \(2\) 或者…

数据库为date型,而前端要显示String型,问题解决

关于数据库字段类型与前端显示类型不符问题解决:最近遇到这样的一个问题,有一个字段在数据库是date型的,但是产品需求我们在前端这样显示,如下图; 先把时间显示出来,最后一行显示上面所有记录的汇总。 而这…

codeforces 1039B Subway Pursuit【二分+随机】

题目:戳这里 题意:一个点在[1,n]以内,我们可以进行4500次查询,每次查询之后,该点会向左或向右移动0~k步,请在4500次查询以内找到该点。 解题思路:一边二分,一边随机。 交互题似乎有好…

kbmmw中向服务器端传递对象的一种简单方式

运行环境:delphi 10.2kbmmw 5.6.20 在kbmmw 的老版本中,要向服务器传送一个本地的对象,一般都需要进行一些转换,例如通过序列化的方式。 在新版的kbmmw中这一切都变的很简单,使用use... 方法就可以了,非常的…

给自己的网址加上https,添加ssl证书(springboot项目)

给自己的网址加上https,添加ssl证书1.先去阿里云官网首页,登录,找到 *SSL证书*2.点击 *立即购买*3.选择好点击确定就可以4.输入自己的域名和手机号,等待即可,成功他就叫给你发邮件5.通知你通过以后就进入SSL控制台,点击…

c++命名空间---namespace

C 命名空间 C 应用程序中。例如,您可能会写一个名为 func() 的函数,在另一个可用的库中也存在一个相同的函数 func()。这样,编译器就无法判断您所使用的是哪一个 func() 函数。 因此,引入了命名空间这个概念,专门用于解…

基于深度学习的中文语音识别系统框架(pluse)

目录 声学模型GRU-CTCDFCNNDFSMN语言模型n-gramCBHG数据集本文搭建一个完整的中文语音识别系统,包括声学模型和语言模型,能够将输入的音频信号识别为汉字。 声学模型使用了应用较为广泛的递归循环网络中的GRU-CTC的组合,除此之外还引入了科大…