openstack实例创建过程分析

发布于:2025-06-13 ⋅ 阅读:(44) ⋅ 点赞:(0)

在这里插入图片描述

用户验证

1、某用户以登录web界面或执行rc文件的方式,通过RESTful API向keystone获取credentials;
2、keystone进行authentication,若正确则生成并返回auth-token;
3、以携带auth-token的形式,在web界面或命令行cli,通过RESTful API向nova-api发送一个启动实例的请求;
4、nova-api向keystone发送认证请求,验证token是否有效;
5、若有效则返回对应的role、credentials ;

资源查询

6、通过认证后,nova-api验证参数是否正确,再与db通信;
7、记录新建虚拟机的数据;
8、 nova-api通过同步执行远程方法rpc.call向nova-scheduler请求是否有资源
9、nova-scheduler持续侦听mq,获取nova-api的请求;
10、nova-scheduler查询db中计算资源的情况,通过调度算法计算符合需求的主机;
11、nova-schduler更新db中待创建vm的宿主机信息;
12、nova-scheduler通过异步执行远程方法rpc.cast向nova-compute发送创建vm请求;

资源组合

13、nova-compute从mq获取到创建vm的请求消息;
14、nova-compute通过rpc.call向nova-conductor获取规格flavor;
15、nova-conductor从mq获取到nova-compute的请求;
16-17、nova-conductor从db种查询对应vm的信息;
18、nova-conductor把vm信息发送到mq;
19、nova-compute从mq中获取vm信息;
20、nova-compute携带从keystone获取的token,向glance-api发送http请求,获取镜像;
21、glance-api向keystone验证token是否有效,并返回验证结果;
22、若token验证通过,nova-compute获得相应镜像的URL;
23、nova-compute携带从keystone获取的token ,向neutron-server发送http请求,获取网络;
24、neutron-server向keystone验证token是否有效,并返回验证结果;
25、若token验证通过,nova-compute获得相应的网络信息;
26、nova-compute携带从keystone获取的token ,向cinder-api发送http请求,获取块存储;
27、cinder-api向keystone认证token是否有效,并返回验证结果;
28、若token验证通过,nova-compute获得相应的块存储信息;

实例创建

29、nova-compute根据虚拟机信息生成配置文件libvirt.xml文件,调用libvirt driver创建vm;


网站公告

今日签到

点亮在社区的每一天
去签到