openstack创建虚拟机流程

openstack创建虚拟机流程_第1张图片

1,通过文字界面,图形界面向keystone认证身份

2,颁发token

3,向nova-api发送启动实例的请求

4,nova-api向keystone发送请求验证token是否有效

5,keystone验证

6,nova-api和数据库通信
(告诉数据库要新建虚拟机)
7,初始化新建虚拟机的数据库记录
(把新建虚拟机的过程请求写在数据库里)
8,nova-api通过rpc.call向nova-scheduler请求是否有符合条件的虚拟机

9,nova-scheduler监听mq,获取nova-api请求

10,nova-scheduler查询数据库虚拟机的情况

11,将结果返回给nova-scheduler

12,nova-scheduler通过mq向nova-compute发送请求
(把请求放在mq里)
13,nova-compute从mq里获取创建虚拟机请求的消息
(nova-compute知道自己要启动虚拟机,但不知道虚拟机的配置)
14,nova-compute通过mq向nova-conductor请求获取虚拟机的消息
(flavor,虚拟机配置)
15,nova-conductor从mq里拿到nova-compute请求

16,nova-conductor根据消息查询虚拟机对应消息

17,nova-conductor获取虚拟机相关配置

18,把配置发送到mq里

19,nova-compute从mq里获取虚拟机的相关信息

20,nova-compute通过keystone认证拿到token,通过HTTP请求glance-api获取创建虚拟机镜像

21,glance-api通过keystone验证nova-compute请求是否合法

22,验证通过,nova-compute获取镜像信息

23,nova-compute通过keystone拿到token,通过HTTP请求neutron-server获取创建虚拟机的网络信息
(获取网络)

24,neutron-server向keystone认证token是否有效

25,验证通过,nova-compute获取虚拟机网络信息

26,nova-compute通过keystone认证得到token,通过HTTP请求cinder-api获取创建虚拟机所需的持久化存储信息
(获取磁盘)
27,cinder-api通过keystone验证token是否有效

28,nova-compute获取虚拟机持久化存储信息

29,nova-compute根据虚拟机信息,调用配置的虚拟化驱动创建虚拟机

你可能感兴趣的:(openstack)