Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的。所以Nova也是OpenStack最复杂的组件。Nova服务由多个子服务组成,这些子服务通过RPC实现通信,而其它组件(如glance等)是通过Nova对外提供的API,实际上就是RESTful API,实现与Nova的通信。所以可以看到,前面提到的OpenStack应用的两种通信方式(RPC、RESTful API),Nova中都用到了。
Nova中各个子服务如下:
Nova API:这是一个基于HTTP的RESTful API服务,用于接收和处理外部HTTP请求。
Nova Compute:这是Nova子服务中最核心的服务,它实现了虚拟机的管理功能。包括虚拟机的创建、启动、暂停、关闭和删除等。
Nova Scheduler:这是Nova子服务的“大脑”,负责调度子服务。当向Nova服务发起创建虚拟机请求时,Nova Scheduler子服务决定虚拟机创建在哪个计算节点上。
————————以上三个子服务为Nova中必须的————————
Nova Cell:这个子服务是为了方便实现横向扩展和大规模部署。
Nova Conductor:这是OpenStack G版本新增的子服务,它其实是一个RPC服务,主要是提供数据库的查询功能。在之前的版本中,都是在Nova Compute中定义许多数据库的查询方法,这种方式存在一些安全方面的隐患,因为Nova Compute需要部署在每个计算节点上,一旦有一个计算节点受到攻击,就会威胁到数据库。
要实现基本的虚拟机管理功能,需要在所有计算节点上启动Nova Compute服务,在控制节点上启动Nova API、Nova Scheduler、Nova Conductor服务。
OpenStack的每个组件都提供了一个API服务,用于接收和处理HTTP请求。与其它组件的API服务一样,Nova API服务是一个RESTful API服务。这篇文章主要介绍Nova API服务。
Nova API服务主要的功能都在osapi_compute_app_v2应用程序

Nova是OpenStack的核心组件,包含多个子服务,如Nova API、Compute和Scheduler。Nova API作为RESTful服务,处理外部HTTP请求,实现虚拟机管理。文章详细介绍了Nova API的实现,包括osapi_compute_app_v2应用程序、资源URL映射和HTTP请求处理流程,并预告了接下来将探讨虚拟机创建。

5743

被折叠的 条评论
为什么被折叠?



