本文从一张图片看一下在创建虚拟机过程中,nova的各个服务的关键出入口以及结果。
(文章来自作者维护的社区微信公众号【虚拟化云计算】)
(
目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问)
如图中的蓝色部分:
用户的入口是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进行新一轮的调度创建。一种就是开始创建虚拟机。
关注微信公众号【虚拟化云计算】,阅读更多虚拟化云计算知识,纯技术干货更新不停。