b站视频链接:0-尚硅谷-Linux云计算- 虚拟化技术 - 为何需要云计算这种“新事物”_哔哩哔哩_bilibili

视频、课件、资料:

百度网盘链接:https://pan.baidu.com/s/1DQd0LDJND_MC3XvHxB3WKA 
提取码:1234

一、Keystone

1.概念

Keystone是一个负责身份管理与授权的组件,给整个openstack的各个组件(nova、cglance...)提供一个统一的验证方式。主要功能:实现用户的身份认证、基于角色的权限管理、openstack其他组件的访问地址和安全策略管理。

两大管理功能:用户管理(3A认证)、服务目录管理

租户(项目)、用户、角色三者需要区分清楚。

一个用户允许有多个租户

一个用户可以绑定到不同的角色(角色代表权限)

一个角色可以绑定到不同的服务

2.组件间的沟通方式

主要过程:第一次user想访问任何组件会先经过Keystone,用户名+密码,如果用户有效且密码正确返回token1,token1对应的含义和权限会进行记录,但是用户必须有相应的租户(项目)才可以访问openstack的组件。如果user不知道当前有哪些租户(通常情况下是不知道的),user拿着token1访问Keystone当前的租户列表(tenant list)有哪些,user才可以在进行下一步访问。

第二次user确定了想访问nova服务,向Keystone提交用户名密码,Keystone放回token2和endpoint(端点),user拿着token2访问对应的endpoint,endpoint并不知道该user有没有权限,endpoint拿着token2提交给Keyston,如果token2认证成功,Keystone直接通知novatoken2是认证成功,你处理一下,nova处理完成后将结果提交给user。

二、Glance镜像服务

1.概念

openstact镜像服务使用户能够发现、注册并检索虚拟机镜像(.img文件),简而言之,就是镜像文件的存储仓库。

镜像URL:<Glance Server Location>/images/<ID> ,一般这三者组成一个全局唯一的URL。如果有两个glance服务,可以更改ID。

镜像的五种状态:
Queued(镜像ID已被保留,镜像还没有上传)

Saving(镜像正在被上传)

Active(镜像已经可以被使用)

Killed(镜像损坏或不可用)

Deleted(镜像已被删除)

2. 组件间工作流程

暴露接口Glance-api, 两种访问方式,一个是通过编程接口,一般上传的是json格式化存储文件,Glance-api下封装Glance-registry和底层,Glance-registry直接连接数据库,并且Glance-registry接口只暴露给Glance-api,不会直接暴露给用户。另外Glance-api可以直接操作底层S3、Object...

三、Nova

1.概念

Iaas的核心组件,也是openstack的核心组件,提供云计算服务、虚拟化服务,Nova本身不支持虚拟化,而是去管理底层的虚拟化(KVM或redhat)。

Nova-api:用于接收请求,请求的发起方可以是用户user通过命令或者程序编程接口或仪表台的套件。

Scheduler:调度服务,如果接收到的是新建虚拟机请求,Scheduler需要选择一个compute去启动一个虚拟机。

Compute Manager:管理虚拟机的启动、关闭、停止,管理虚拟化的整个生命周期。Compute Manager并不直接管理虚拟机,而是通过编写的底层驱动Compute Driver去控制Libvirt(redhat开发的虚拟机管理平台),Libvirt再而控制KVM、Xen等虚拟化平台。

Libvirt支持多种虚拟化监视器(hypervisor)

nova实质上有两种形式,通常由一个Controller和多个Compute计算节点组成,用户通过命令想nova-api发起创建一个虚拟机请求,nova-api向消息队列(queue)编写数据,随后调度Scheduler、nova-network、nova-volumne。调度成功后也向消息队列写数据,最后Compute接收到消息队列的数据开始响应请求。

 虚拟机启动流程:如果创建虚拟机没有指定节点,进行权重计算,计算各个节点的剩余资源,Libvirty会自动检测(一般是1分钟)资源并保存在数据库中,nova-Scheduler可以在数据库拿到节点资源,一旦有新的数据写入Compute 节点,会马上更新资源统计并保存在数据库。

三、Netutron

1.概念

Linux环境下网络设备的虚拟化主要有以下几种形式,Neutron也是基于这些技术来完成项目私有虚拟网络network的构建。
(1) TAP/TUN
TAP/TUN是 Linux内核实现的一对虚拟网络设备, TAP工作在二层,TUN工作在三层,Linux内核通过TAP/TUN设备向绑定该设备的用户空间程序发送数据,反之,用户空间程序也可以像操作硬件网络设备那样,通 过 TAP/TUN设备发送数据。

(2) Linux Bridge/VLAN
Linux Bridge (网桥)是工作于二层的虚拟网络设备,功能类似于物理的交换机。
(3) Open vSwitch
Open vSwitch 是一个具有产品级质量的虚拟交换机,它使用C语言进行开发 。可以区分被桥接的物理网卡上流淌的数据包属于哪个VM 、哪 个 OS 及哪个用户。接入到OpenvSwitch上的各个 VM分配到不同的VLAN中实现网络的隔离。
实现了分布式的虚拟交换机( Distributed Virtual Switch),一个物理Server上的vSwtch可以透明地与另一Server上的vSwitch连接在一起。

L3 agent

l3 agent可以为project(租户)创建router,提供Neutron subnet之间的路由服务。路由功能默认通过 IPtables 实现。

neutron agent服务:

(1)plug-in agent(neutron-*-agent)

插件代理,需要部署在每一个运行hypervisor的主机上,它提供本地的vSwitch配置,更多的时候得依赖你具体所使用的插件类型。(常用的插件是OpenvSwitch,还包括Big Switch,Floodinght REST Proxy,Brocade, NSX, PLUMgrid, Ryu)

(2)dhcp agent(neutron-dhcp-agent)

DHCP代理,给租户网络提供动态主机配置服务,主要用途是为租户网络内的虚拟机动态地分配IP地址。

(3)l3 agent(neutron-l3-agent)

L3代理,提供三层网络功能和网络地址转换(NAT)功能,来让租户的虚拟机可以与外部网络通信。

(4)metering agent(neutron-metering-agent)

计量代理,为租户网络提供三层网络流量数据计量服务。

Network--->Vlan

Subnet--->一段地址段(比Network的范围更小)

Router--->三层路由

Port--->虚拟交换机的端口号

Vif--->主机

流程:

主要组件功能:

ML2 Plugin功能实现以及对应协议:

拓网络扑

不同组件上运行的服务是不同的!每台Nova节点都会有ML2-agent代理端,管理端则在Neutron节点上Neutron ML2 plugin。

Per-tenant Routers with Private Network 

这是一种最具意义的网络构建方式,不同的租户有各自的路由器,同一个租户可以拥有不同的网段,租户间的通信使用各自的路由器通过浮动网络进行通信,浮动网络后就是物理路由器了,通过物理路由器就可以与外网通信了。

绿色租户,蓝色vlan,每个租户一个路由,一个路由多个vlan。

五、Horizon仪表盘套件

Horizon安装前必须安装Compute、Keystone组件,必须安装Python2.6或2.7,并支持Django。

演示:

六、 Cinder块存储

controller节点运行The Block Storage API服务和Schedule服务,The volume service运行在一个或多个存储节点,存储节点可以是本地磁盘、SAN、NAS等设备,为云主机提供卷存储。

cinder-api:允许API请求,并路由他们到cinder-volume。

cinder-volume:直接与块存储服务通信,支持多种存储类型。

cinder-scheduler daemon:类似于nova-scheduler组件,用于计算节点资源,选择最优的存储节点创建卷。

swift和cinder的区别

swift类似于网盘,而cinder类似于移动硬盘,随意格式化,随意存取。swift对象存储通常存储一些不会修改的数据,比如用于存储 VM 镜像、备份和归档以及较小的文件,例如照片和电子邮件消息。更倾向于系统的管理。

OpenStack七大组件解析相关推荐

  1. Openstack七大组件介绍

    Openstack七大组件介绍 OpenStack是一套laas解决方案 OpenStack是一个开源的云计算管理平台 以Apache许可证为授权 Horizon组件 --Horizon为OpenSt ...

  2. 末学者笔记--openstack共享组件:rabbitmq(3)

    openstack共享组件:消息队列rabbitmq 一.MQ 全称为 Message Queue, 消息队列( MQ )                       是一种应用程序对应用程序的通信方 ...

  3. 人工智能应用最多的七大领域解析

    人工智能是一门边缘学科,属于自然科学和社会科学的交叉.涉及哲学和认知科学,数学,神经生理学,心理学,计算机科学,信息论,控制论,不定性论等.人工智能就其本质而言,是对人的思维的信息过程的模拟. 人工智 ...

  4. Openstack各个组件的关系简介

    Openstack简介 OpenStack是一个由美国国家航空航天局(NASA)和Rackspace合作研发并发起的开源项目.其中Rackspace贡献了Swift, NASA贡献了Nova项目,这两 ...

  5. 【SSM框架系列】Spring-MVC的组件解析

    SpringMVC完整执行流程 用户发送请求至前端控制器DispatcherServlet. DispatcherServlet收到请求调用HandlerMapping处理器映射器. 处理器映射器找到 ...

  6. openstack及组件简要介绍

    openstack及组件简要介绍 为什要用云? 一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中 ...

  7. OpenStack的组件

    OpenStack的组件: Compute:代码名nova,管理VM的整个生命周期,主要职责包括启动,调度VMs. Networking:代码名Netron(早期名叫Quantum,)为opensta ...

  8. OpenStack——nove组件部署

    OpenStack--nove组件部署 一.部署Placement 1.创建数据库实例和用户 2.创建placement服务用户和API的endpoint 3.安装placement服务 4.导入数据 ...

  9. 不负春光不负卿,听康大厨讲讲OpenStack重要组件的那些事儿

    文/康鹏          前言 又到春暖花开时,不负春光不负卿. 康大厨精心烹饪OpenStack大餐,即将上菜! OpenStack 私人课堂今日第二讲,每周一期,期期不落,总有一款适合你~ Op ...

最新文章

  1. 固态器件理论(9)晶闸管
  2. 【Java】练习题:蒙眼过马路
  3. 在BackTrack下基于MS08-067漏洞的渗透
  4. linux内核input子系统解析
  5. Electron - 创建跨平台的桌面客户的应用程序
  6. 【codeforces 103E】 Buying Sets
  7. html5图片长按保存,一文彻底解决HTML5页面中长按保存图片功能
  8. 本地mysql新建用户名和密码错误_mysql新建用户本地无法登录
  9. JAVA-初步认识-第十四章-多线程(面试题)
  10. css内容渐入效果实现
  11. js获取服务器响应头信息,请问,js中请求头信息和返回头信息的方法
  12. echarts实现水波球
  13. 华为鸿蒙os2.0游戏,华为鸿蒙os2.0系统下载-华为鸿蒙系统官方下载入口2.0下载 - 一游网手机游戏...
  14. 推荐一款点阵字库生成工具/点阵生成器
  15. r 语言计算欧氏距离_R语言-KNN算法
  16. 高等数学几何图形凸优化
  17. win10无线网卡无法连接网络
  18. 安装anaconda时报错“failed to create menus”尝试各种解决方法
  19. 广达服务器进系统重启,广达 服务器 远程开机
  20. 如何利用python将NWPU VHR-10目标检测遥感数据集的格式转换成VOC目标检测数据集的格式

热门文章

  1. vue3使用vant4-showToast背景色被覆盖解决方法
  2. socket 莫名其妙的断开连接?
  3. PEAKCOO做数显压力表芯片的方案设计
  4. 杂志业游戏规则的改变者——《时代周刊》发行第一期NFT
  5. I/O操作总结(一)
  6. 轮岗为何会逼走人才?轮岗机制常见的6个问题是什么?
  7. 机器学习项目实践(什么是深度学习?)
  8. 柔性印刷线路板缺陷检测方法研究
  9. 【安装教程 02期】SPSS 24下载、安装、常见问题
  10. ubuntu proxy(代理)设置全局