本文从一张图片看一下在创建虚拟机过程中,nova的各个服务的关键出入口以及结果。
如图中的蓝色部分:
用户的入口是nova_client或者是horizon,他们是RestAPI的http客户端。
如图中的黄色部分:
nova中四个服务:nova-api;nova-conductor;nova-scheduler;nova-compute,他们之间是通过发送RPC消息(RabbitMQ)进行通信的。
如图中的绿色部分:
在openstack中分别在rpcapi.py和manager.py中实现了RPC消息通讯的client和server。
如图中的橙色部分:
sechduler有两种结果:一种是产生某个符合条件的主机,一种是或者无可用主机;
compute有两种结果:一种是claim失败而发消息build_instances到conductor进行新一轮的调度创建。一种就是开始创建虚拟机。
关注本公众号,了解更多关于云计算虚拟化的知识。