文章转载自:https://www.cnblogs.com/awmpy/p/6637869.html

新建一个云主机流程总览图

图中流程-1

首先你访问dashboard之后,显示的是一个登录页面,人家horizon告诉你:想用Openstack新建云主机?那你先把你的账号密码交给我,等我找我大哥keystone确认你的身份之后才能放你进去

原来我还一直以为这里登录的时候只是一个简单的django框架使用pymysql直接查询数据库,而实际上这里的表单信息是提交到了keystone,然后通过keystone查询数据库进行验证的

图中流程-2

keystone接收到前端表单传过来的域、用户、密码信息以后,查询了数据库,确认身份后将一个token(就像是办了身份证~~~)返回给该用户,让这个用户以后再进行操作的时候不需要再提供账号密码,而是拿出token来

图中流程-3

horizon拿到token之后,实际上这里在web页面上的显示就是登录成功了,接着找到创建云主机的按钮并点击

填写云主机相关配置信息

填了这么一大堆配置信息,点击启动实例之后,horizon就带着三样东西去找nova-api了:

  1.创建云主机的请求

2.云主机相关配置信息

  3.刚刚keystone返回给的token

图中流程-4

你horizon来找我nova-api办事可我也不认识你啊,这样,你把身份证给我,我去找我大哥keystone问问(这些组件都有一个共同的大哥keystone,但他们自己之间却不认识)。然后他就带着horizon的token去找keystone

图中流程-5

keystone一看nova-api带来的token,这不就是自己刚发的那个么,但程序可没这么聪明,它还得乖乖查一次数据库,然后告诉nova-pai,这兄弟信得过,你就照它说的做吧

图中流程-6

nova-api从大哥那回来,接收了horizon提供的两样东西,一是云主机配置信息,二是创建请求,这nova-api手底下也有一帮小兄弟,这帮人之间沟通可不太方便都得通过一块小黑板(mq消息队列),把自己的需求写在小黑板上,能做的了这事的人自然就去做了。但配置信息现在还不能写在小黑板上,得找到确定去干活的人之后才行啊,所以nova-api就把配置信息放到数据库里

图中流程-7

数据库把配置信息收好之后,对nova-api说了声,我放好了

图中流程-8

放好配置信息后nova-api就在小黑板上写“现在要创建一台云主机,配置信息我已经放到数据库了,小s你给安排安排吧”

图中流程-9

这个小s就是nova-schedular,他就像是nova-api的秘书,nova-api的有事都是通过它交代给其他人的,这一步就是他从小黑板上看到了nova-api的信息

图中流程-10

小s现在知道了要创建云主机,但它要看一看云主机都要什么配置,才好决定该把这事交给谁去做(这里是指多个nova-compute的情况,各个计算节点的资源使用情况都在小s这里),所以他让数据库把云主机配置信息发给他看看

图中流程-11

数据库收到请求之后,把云主机配置信息发给小s

图中流程-12

小s拿到配置信息后,使用调度算法决定了要让nova-compute去干这个事,就在小黑板上写“nova-compute你给创建个云主机,配置都在数据库里了”

图中流程-13

nova-compute看到小黑板上的东西之后,本应该直接去数据库拿取配置信息,但因为nova-compute的特殊身份,nova-compute所在计算节点上全是云主机,万一有一台云主机被黑客入侵从而控制计算节点,直接拖库是很危险的。所以不能让nova-compute知道数据库在什么地方

图中流程-14

nova-compute没办法去数据库取东西难道就不工作了吗?那可不行啊,他不知道去哪取,但他哥们知道啊,于是他在小黑板上写“nova-conductor,你帮我去数据库取一下配置信息”

图中流程-15

nova-conductor从小黑板上看到了nova-compute的请求

图中流程-16

nova-conductor告诉数据库我要查看某某云主机的配置信息

图中流程-17

数据库把云主机配置信息发送给nova-conductor

图中流程-18

nova-conductor把配置信息写在小黑板上

图中流程-19

nova-compute从小黑板上读取云主机的配置信息

图中流程-20

nova-compute拿到了云主机配置信息一看,人家可是专业的,立马就知道该怎么做了,先去找glance-api拿镜像吧,刚才讲了那么多,可都是在nova组件内部的,这次去找别的组件可不是写在小黑板上了,它得带着自己的身份证去,告诉glance-api,我要xxx镜像

图中流程-21

glance-api看nova-compute过来,他可不认识nova-compute,让nova-compute拿出身份证,拿着人家身份证找到自己大哥keystone看看这人靠不靠谱,keystone一看,没问题,按他说的做吧(在nova验证horizon被当做两步,这里化做一步,是为了简化重复的流程)

图中流程-22

glance-api把镜像资源信息返回给nova-compute(这里主要说创建云主机的过程,除nova外其他组件内部先不提)

图中流程-23

接着nova-compute找到neutron-server(图里画错了,因为是偷别人的图,自己的图画了半天画不好。。。),告诉他我要xxx网络资源

图中流程-24

neutron-server也不认识他,拿着他的身份证找keystone确认了一下身份

图中流程-25

nuetron-server把网络资源信息返回给nova-compute

图中流程-26

nova-compute找到cinder-api要存储资源,云主机得有硬盘啊,得存东西啊(同样,这里图中也有错误)

图中流程-27

cinder-api也不认识他,拿着他的身份证找keystone确认了一下身份

图中流程-28

cinder-api把存储资源信息返回给nova-compute

图中流程-29

nova-compute拿到了所有资源之后,他其实也只是个收集信息的,他把工作全都交给了真正创建虚拟机的Hypervisor(kvm,zen等虚拟化技术)

Openstack新建云主机的流程相关推荐

  1. openstack创建云主机流程

    创建云主机流程 当访问Dashboard的时候,会显示一个登录页面,Dashboard会告诉你,想使用Openstack创建云主机?那你得先把你的账号密码交给我,我去Keystone上验证你的身份之后 ...

  2. openstack的云主机相关命令

    openstack的云主机相关命令 一.环境介绍 二.查看云主机相关信息 1.查看用户云主机列表 2.查看用户的云硬盘信息 3.查看用户的router信息 4.查看用户的子网信息 5.查看用户的安全组 ...

  3. Openstack liberty 云主机迁移源码分析之在线迁移3

    这是在线迁移 源码分析的第三篇,Openstack liberty 云主机迁移源码分析之在线迁移2中分析了prepare准备阶段nova-compute的处理过程,本文将会分析execute执行阶段的 ...

  4. openstack创建云主机

    全网第一份使用open stack命令创建云主机 一.上传镜像 #使用open stack命令上传cirros镜像,命名为cirros [root@controller ~]# openstack i ...

  5. 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程

    目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...

  6. openstack 云计算 cinder块存储、镜像制作、云主机管理

    从官网获取学习帮助: https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/horizon.html Dashboard 图形界面 安装软 ...

  7. cas虚拟服务器,适用于CAS虚拟化平台的CloudOS3.0云主机镜像的制作

    本文主要介绍适用于CAS虚拟化平台的H3Cloud OS3.0制作云主机镜像的方法,下文中的例子是镜像文件是安装Windows操作系统. 1.新建虚拟机 首先在CAS管理平台新建虚拟机,若安装Wind ...

  8. 用户、配额管理 、 云主机类型管理 、 镜像管理 、 网络管理 、 安全和实例管理 、 计算节点扩容案例

    Top NSD CLOUD DAY03 案例1:管理项目 案例2:新建云主机类型 案例3:上传镜像 案例4:创建网络 案例5:管理浮动IP地址 案例6:创建安全组及规则 案例7:创建云主机 案例8:安 ...

  9. 关于CSDN云主机从购买到上手体验的真实感受与些许建议 | CSDN开发云

    文章目录 一.CSDN云主机购买流程 1.添加一个项目 2.选择镜像版本 3.选择规格 4.弹性公网.带宽计费模式.VPC配置 5.添加主机信息 6.选择计费方式.购买主机时长 7. 支付方式 9.创 ...

最新文章

  1. day32-1 事件Event
  2. Linux中的数据流重定向
  3. winhttp get 实例_实例|CASS的绘制的航道断面,怎么多了两个边沟? 135
  4. 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件
  5. 文件得编码和文件名的编码是不一样的
  6. C语言中sizeof详解——面试C/C++
  7. android shape画边框,安卓用shape画圆角矩形边框
  8. php策略模式,PHP策略模式定义与用法(详解)
  9. redis的配置文件解释
  10. 大学计算机一级准考证打印,河海大学计算机等级考试准考证打印入口
  11. 红帽rhce考试自带补考吗_红帽RHCE认证考试注意事项
  12. MATLAB下载安装
  13. SAP License Keys申请和导入
  14. Learn Git Branching 学习笔记(基础篇)
  15. Basic Block
  16. 红米4A Android 版本,红米4A评测:4A搭载深度定制基于Android6.0.1系统MIUI 8 - 红米4A评测:双11手机单品销量第一 怎么样好不好用?...
  17. html5工业相机,AVT工业相机
  18. 有一间计算机实验室英语怎么说,实验室英语怎么说
  19. 《抽样技术》第4章 等概率整群抽样和多阶段抽样
  20. 130个免费 微信小程序源码分享

热门文章

  1. android远程定位此设备,基于Android的远程定位显示研究与实现
  2. Vscode查看敲代码时长(Time Master)
  3. SpringBoot异步请求
  4. vue + cesium 洪水淹没分析完整示例
  5. SLAM中evo评估工具(用自己的数据集评估vinsFusion)
  6. Flutter 实现九宫格抽奖动画效果
  7. 美国博士后申请面试个人陈述怎么做?
  8. 永久试用EDIUS Pro 7.4.1 Build 0084 官方完整版方法
  9. Laravel Lang的初次使用,以及如何多个文件或目录管理语言
  10. swagger 报错