第 1 章 Compute 服务(nova)功能

您可以使用 Compute (nova)服务在 Red Hat OpenStack Platform (RHOSP)环境中创建、置备和管理虚拟机实例和裸机服务器。Compute 服务提取其上运行的底层硬件,而不是公开有关底层主机平台的特定硬件。例如,计算服务不会公开主机上运行的 CPU 的类型和拓扑,而是公开多个虚拟 CPU (vCPU),并允许过度使用这些 vCPU。

Compute 服务使用 KVM 管理程序来执行计算服务工作负载。libvirt 驱动程序与 QEMU 交互来处理与 KVM 的所有交互,并允许创建虚拟机实例。要创建并置备实例,计算服务与以下 RHOSP 服务交互:

  • 用于身份验证的身份(keystone)服务。
  • 资源清单跟踪和选择的放置服务。
  • 用于磁盘和实例镜像的镜像服务(glance)。
  • 用于置备实例在引导时连接的虚拟网络或物理网络的网络(neutron)服务。

Compute 服务由守护进程进程和服务组成,名为 nova the。以下是 Compute 服务的核心:

Compute 服务(nova-compute)
此服务使用 libvirt 作为 KVM 或 QEMU hypervisor API 创建、管理和终止实例,并更新具有实例状态的数据库。
计算编排器(nova-conductor)
此服务在计算服务和数据库之间划分交互,这会使 Compute 节点无法直接访问数据库。不要在运行 nova-compute 服务的节点上部署此服务。
计算调度程序(nova-scheduler)
此服务从队列获取实例请求,并确定托管实例的 Compute 节点上。
计算 API (nova-api)
此服务为用户提供外部 REST API。
API 数据库
此数据库跟踪实例位置信息,并为构建但未调度的实例提供临时位置。在多单元部署中,此数据库还包含单元映射,用于为每个单元指定数据库连接。
cell 数据库
此数据库包含有关实例的大多数信息。它供 API 数据库、编排器和计算服务使用。
消息队列
所有服务使用此消息传递服务与单元格和全局服务相互通信。
计算元数据
此服务存储特定于实例的数据。实例通过 http://169.254.169.254 或 IPv6 的本地链路地址 fe80::a9fe:a9fe 访问元数据服务。Networking (neutron)服务负责将请求转发到元数据 API 服务器。您必须使用 NeutronMetadataProxySharedSecret 参数在网络服务和计算服务配置中设置 secret 关键字,以允许服务进行通信。Compute 元数据服务可以全局运行,作为计算 API 的一部分,也可以在每个单元中运行。

您可以部署多个 Compute 节点。运行实例的虚拟机监控程序在每个 Compute 节点上运行。每个 Compute 节点至少需要两个网络接口。Compute 节点还运行一个网络服务代理,它将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务。

默认情况下,director 为所有 Compute 节点使用一个单元(cell)安装 overcloud。此单元包含所有控制和管理虚拟机实例的计算服务和数据库,以及所有实例和实例元数据。对于较大的部署,您可以使用多单元部署 overcloud,以适应大量 Compute 节点。在安装新的 overcloud 或之后的任何时间,您可以在环境中添加单元格。如需更多信息,请参阅使用 Compute Cells 扩展部署