OpenStack—Nova组件基础理论

Nova计算服务基本概念

计算服务是openstack最核心的服务之一,负责维护和管理云环境的计算资源,它在openstack项目中代号是nova。

1.主要负责计算资源的模块,同时支持、处理openstack云中的实例生命周期的所有活动,这样使得nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台

2.nova服务是由多个子服务构成,子服务是通过RPC(远程过程调用)实现通信。服务之间有很松的耦合性。

3.Nova自身并没有提供任何虚拟化能力(是openstack中唯一一个与底层KVM进行对接,调用虚拟化组件,供给openstack中实例以及其他需要底层硬件资源的这些组件进行正常运作),它提供计算服务,使用不同的虚拟化驱动来与底层支持的Hypervisor(虚拟机管理器)进行交互。

注:Nova需要keystone、glance、neutron、cinder和swift等其他服务的支持,能与这些服务集成(调用其他组件),实现如加密磁盘、裸金属计算实例等。

Nova主要功能及组件

功能

1. 实现实例的生命周期的管理
2.调动管理平台的网络、存储等资源
3. 支持KVM、VMware等同名的hypervisor(虚拟机监视器)
4. hypervisor 提供软件来管理虚拟机对底层硬件的访问
5. 异步的一致性通信

组件

Nova组件介绍-API

HTTP服务,对内接收处理客户端发送的HTTP请求 对外提供一个云基础设施的接口,也是外部可用于管理基础设施的唯一组件
Nova-api是外部访问并使用nova提供的各种服务的唯一途径,也是客户端和nova之间的中间层。

Nova组件介绍-Scheduler
注:工作在逻辑控制层

1.在接收到一个来自消息队列的创建虚拟机实例请求时,根据配置从计算节点集群中选择最优节点,并将请求转给该节点,最终将虚拟机部署创建在该节点上,类似于负载均衡

2. Nova-Scheduler服务将根据负载,内存,可用域的物理距离,CPU架构等信息,并运行调度算法,最终做出调度决策,同时负责Nova主机选择,提供决策,配置在contron下的noca.conf中,如scheduler_default_filter默认的过滤器,scheduler_avavilable_filter 可用的过滤器

Nova组件介绍-Compute

1.一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期

2.上层发来的请求通过compute去管理虚拟化组件,kvm、qemu去创建虚拟机实例,通过 Hypervisor 的 API来创建 和销毁虚拟机

3.Nova-compute可分为两类,一类是定向openstack报告计算节点的状态(监控,把实例状态传递给openstack,openstack在控制台中展示),另一类是实现实例生命周期的管理。

Nova组件介绍-Conductor

1.RPC(远程过程调用)服务,主要提供数据查询功能,负载均衡,可扩展性高
2.工作于Nova-Compute服务与数据库之间,避免了Nova-Compute服务对云数据库的直接访问,但是,不能将它部署在运行Nova-Compute服务的主机节点上
3.防止计算节点直接访问数据库

Nova组件介绍-PlacementAPI

监控,报告外部的资源,用于追踪记录资源提供者目录和资源使用情况,这些资源包括计算,存储以及IP地址池等。

Nova组件介绍-network daemon

安装在compute节点上,功能与nova-compute类似,管理IPtables规则和网卡

Nova组件介绍-api-metadata

接收来自虚拟机发送的源数据请求,一般在安装Nova-Network 服务的所主机模式下使用

其他组件简介

nova-consoleauth daemon:身份验证的一个进程,用户的授权令牌.

nova-novncproxy daemon:通过vnc(虚拟网络控制台)连接来访问运行的虚拟机实例的代理。

nova client:是指使用 Neutron服务的应用程序,可以是命令行工具(脚本)、 Horizon( OpenStack图形操作界面)和Nova计算服务等

the queue:消息队列rabbitmq。进程之间传递消息的中心

sql database:数据库(默认使用 Maria DB)用于存放 OpenStack的网络状态信息、包括网络、子网端口、路由器等等

猜你喜欢

转载自blog.csdn.net/weixin_50344807/article/details/114259892