云计算---openstack创建虚拟机过程
(1)界面或命令行通过RESTful API向keystone获取认证信息。
(2)keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。
(3)界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。
(4)nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token。
(5)keystone验证token是否有效,如有效则返回有效的认证和对应的角色(注:有些操作需要有角色权限才能操作)。
(6)通过认证后nova-api和数据库通讯。
(7)初始化新建虚拟机的数据库记录。
(8)nova-api通过rpc.call向nova-scheduler请求是否有创建虚拟机的资源(Host ID)。
(9)nova-scheduler进程侦听消息队列,获取nova-api的请求。
(10)nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机。
(11)对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息。
(12)nova-scheduler通过rpc.cast向nova-compute发送对应的创建虚拟机请求的消息。
(13)nova-compute会从对应的消息队列中获取创建虚拟机请求的消息。
(14)nova-compute通过rpc.call向nova-conductor请求获取虚拟机消息。(Flavor)
(15)nova-conductor从消息队队列中拿到nova-compute请求消息。
(16)nova-conductor根据消息查询虚拟机对应的信息。
(17)nova-conductor从数据库中获得虚拟机对应信息。
(18)nova-conductor把虚拟机信息通过消息的方式发送到消息队列中。
(19)nova-compute从对应的消息队列中获取虚拟机信息消息。
(20)nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要镜像。
(21)glance-api向keystone认证token是否有效,并返回验证结果。
(22)token验证通过,nova-compute获得虚拟机镜像信息(URL)。
(23)nova-compute通过keystone的RESTfull API拿到认证k的token,并通过HTTP请求neutron-server获取创建虚拟机所需要的网络信息。
(24)neutron-server向keystone认证token是否有效,并返回验证结果。
(25)token验证通过,nova-compute获得虚拟机网络信息。
(26)nova-compute通过keystone的RESTfull API拿到认证的token,并通过HTTP请求cinder-api获取创建虚拟机所需要的持久化存储信息。
(27)cinder-api向keystone认证token是否有效,并返回验证结果。
(28)token验证通过,nova-compute获得虚拟机持久化存储信息。
(29)nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。
云计算---openstack创建虚拟机过程的更多相关文章
- openstack创建虚拟机的步骤
图片来自互联网. 虚拟机启动过程如下: 1.界面或命令行通过RESTful API向keystone获取认证信息.2.keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请 ...
- 如何解决OpenStack创建虚拟机或删除虚拟机时一直处于deleting或者creating状态的问题(转载)
原文地址:http://www.cnblogs.com/robertoji/p/4968280.html 在OpenStack使用时,有时候会遇到创建虚拟机或者删除虚拟机无法成功创建或者删除的时候,一 ...
- Openstack创建虚拟机 Restful api和RPC调用
Horizon前台界面用于接受用户的输入或动作(action),然后将这些参数构造成RESTful API(https://developer.openstack.org/api-ref/comput ...
- openstack 创建虚拟机失败
虚拟机创建失败 用户创建一台虚拟机,虚拟机使用4个网络平面,所以虚拟机选择了4个不同平面的网络,创建虚拟机一直在孵化的过程中,最后创建虚拟机失败. 失败后返回的报错日志 Build of ins ...
- openstack创建虚拟机之后使用ssh登陆的解决办法
创建一个虚机之后:若果想要在horizon的控制台上登录操作,第一步.需要先使用ssh从controller上修改密码 从controller上登录: ssh ubuntu@虚机ip sudo su ...
- openstack 创建虚拟机
http://blog.csdn.net/tantexian/article/details/44595885#comments
- openstack 创建虚拟机的时候报错: Failed to allocate the network(s), not rescheduling.].
错误: 实例 "test-gtj" 执行所请求操作失败,实例处于错误状态.: 请稍后再试 [错误: Build of instance 5ea8c935-ee07-4788-823 ...
- openstack之虚拟机创建流程分析
这篇博文静静的呆在草稿箱大半年了.假设不是由于某些原因被问到,以及由于忽略它而导致的损失,否则我也不知道什么时候会将它完毕.感谢这段时间经历的挫折,让我知道不足.希望你能给我更大的决心! 本文试图具体 ...
- ##8.创建虚拟机-- openstack pike
##8. openstack创建虚拟机 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.创建虚拟机.txt.s ...
随机推荐
- kubectl exec 执行 容器命令
格式如下: kubectl exec -it podName -c containerName -n namespace -- shell comand 1 创建目录 kubectl exec -it ...
- git的使用学习(四)git的远程仓库
1.远程仓库介绍 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早 ...
- C++标准模板库STL算法与自适应容器(栈和队列)
参考<21天学通C++>第23与第24章节,对STL算法与自适应容器进行介绍. 实际上在前面的STL顺序容器.关联容器进行介绍时或多或少引用到了一些STL算法中的模板函数.而自适应容器是在 ...
- 找出整数数组中出现次数超过数组长度一半的元素(Java)
Question:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 package com.study.zhipengs.test; import java.util.Arrays; im ...
- 教你使用Webpack搭建环境 TypeScript (2)
一. 环境搭建1.1. TypeScript环境安装已经配置好的环境,大家可以直接下载:https://github.com/coderwhy/HYLearnTS.git在上一个章节中我们说过,T ...
- MacOS上使用Openconnect代替Cisco Anyconnect
OpenConnect是一个Cisco Anyconnect的替代品,具有开源.易获取.可靠等优点.而官方版本的Cisco Anyconnect配置较为繁琐,需要在管理界面同时部署多平台客户端才能支持 ...
- Kubernetes(k8s)目录
Kubernetes(k8s)目录 Kubernetes集群安装(亲测有效)
- 037 Android Glide图片加载开源框架使用
1.Glide简单介绍 Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片.Glide是一个快速高效的Androi ...
- .NET Core 配置文件
老一代配置系统 1,XML格式 格式单一. 2,配置信息Kye,只能一维化配置 3,框架信息和应用程序信息混合到一起 应用程序中是 App.config web项目中 web.co ...
- Asp.Net Core 调用第三方Open API查询物流数据
在我们的业务中不可避免要与第三方的系统进行交互,调用他们提供的API来获取相应的数据,那么对于这样的情况该怎样进行处理呢?下面就结合自己对接跨越速运接口来获取一个发运单完整的物流信息为例来说明如何在A ...