Nova整体架构
Nova控制着虚拟机的生老病死,管理他们的计算资源分配。
我们来看Nova的一个执行流程案例。
Step1:首先用户执行Nova Client提供的用于创建虚拟机的指令
Step2:nova-api service监听到来自于Nova Client的HTTP请求,并将这些请求转换为AMQP消息之后加入消息队列Queue
Step3:通过消息队列Queue调用nova-conductor service
Step4:nova-conductor service从Queue接收到虚拟机实例化请求消息后,进行一些准备工作(EG. 汇总HTTP请求中所需要实例化的虚拟机参数)
Step5:nova-conductor service通过Queue告诉nova-scheduler去选择一个合适的Compute Node来创建虚拟机,此时nova-scheduler会读取数据库的内容
Step6:nova-conductor从nova-scheduler得到了合适的Compute Node的信息后,在通过Queue来通知nova-compute service实现虚拟机的创建.
Nova主要有API、Compute、Conductor、Scheduler四个核心服务组成,这些服务之间通过AMQP消息队列来进行通信。