第 1 章 计算服务(nova)功能
您可以使用 Compute (nova)服务在 Red Hat OpenStack Platform (RHOSP)环境中创建、置备和管理虚拟机实例和裸机服务器。计算服务抽象其上运行的底层硬件,而不是公开底层主机平台的具体信息。例如,计算服务公开多个虚拟 CPU (vCPU),而不是公开主机上运行的 CPU 的类型和拓扑,并允许过度使用这些 vCPU。
计算服务使用 KVM 管理程序来执行计算服务工作负载。libvirt 驱动程序与 QEMU 交互,以处理与 KVM 的所有交互,并允许创建虚拟机实例。要创建和置备实例,计算服务与以下 RHOSP 服务交互:
- 进行身份验证的身份(keystone)服务。
- 资源清单跟踪和选择放置服务。
- 磁盘和实例镜像的镜像服务(glance)。
- 用于调配实例在启动时连接到的虚拟或物理网络的联网(neutron)服务。
计算服务由守护进程进程和服务组成,名为 nova channel。以下是核心计算服务:
- 计算服务(
nova-compute) - 此服务通过对 KVM 或 QEMU hypervisor API 使用 libvirt 创建、管理和终止实例,并使用实例状态更新数据库。
- 计算编排器(
nova-conductor) -
此服务调解计算服务和数据库之间的交互,使 Compute 节点无法直接访问数据库。不要在运行
nova-compute服务的节点上部署该服务。 - 计算调度程序(
nova-scheduler) - 此服务从队列获取实例请求,并确定在哪个 Compute 节点上托管该实例。
- Compute API (
nova-api) - 此服务为用户提供外部 REST API。
- API 数据库
- 此数据库跟踪实例位置信息,并为构建但不调度的实例提供临时位置。在多单元部署中,此数据库还包含单元映射,用于为每个单元指定数据库连接。
- cell 数据库
- 此数据库包含有关实例的大部分信息。它由 API 数据库、编排器和计算服务使用。
- 消息队列
- 此消息传递服务供所有服务在单元格和全局服务中相互通信。
- 计算元数据
-
此服务存储特定于实例的数据。实例通过 http://169.254.169.254 或 IPv6 的本地链路地址 fe80::a9fe:a9fe 访问元数据服务。Networking (neutron)服务负责将请求转发到元数据 API 服务器。您必须使用
NeutronMetadataProxySharedSecret参数在网络服务和计算服务的配置中设置 secret 关键字,以允许服务进行通信。计算元数据服务可全局运行,作为计算 API 的一部分,或者在每个单元中运行。
您可以部署多个 Compute 节点。运行实例的虚拟机监控程序在每个 Compute 节点上运行。每个 Compute 节点至少需要两个网络接口。Compute 节点还运行一个网络服务代理,它将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务。
默认情况下,director 为所有 Compute 节点使用一个单元(cell)安装 overcloud。此单元包含所有控制和管理虚拟机实例的 Compute 服务和数据库,以及所有实例和实例元数据。对于较大的部署,您可以使用多单元部署 overcloud,以适应大量 Compute 节点。在安装新的 overcloud 或之后的任何时间,您可以在环境中添加单元格。