第 1 章 计算服务(nova)功能
您可以使用 Compute (nova)服务在 Red Hat OpenStack Platform (RHOSP)环境中创建、置备和管理虚拟机实例和裸机服务器。Compute 服务提取其上运行的底层硬件,而不是公开底层主机平台的具体信息。例如,计算服务不会公开主机上运行的 CPU 的类型和拓扑结构,而计算服务会公开多个虚拟 CPU (vCPU),并允许过量使用这些 vCPU。
计算服务使用 KVM 管理程序来执行计算服务工作负载。libvirt 驱动程序与 QEMU 交互以处理与 KVM 的所有交互,并启用虚拟机实例的创建。要创建并置备实例,计算服务与以下 RHOSP 服务交互:
- 用于身份验证的身份(keystone)服务。
- 用于资源清单跟踪和选择的放置服务。
- 磁盘和实例镜像的镜像服务(glance)。
- 用于置备实例引导时连接的虚拟网络或物理网络的 networking (neutron)服务。
Compute 服务由守护进程进程和服务组成,名为 novajpeg。以下是核心计算服务:
- 计算服务(
nova-compute) - 此服务使用 libvirt 用于 KVM 或 QEMU 管理程序 API 来创建、管理和终止实例,并更新具有实例状态的数据库。
- 计算编排器(
nova-conductor) -
此服务调节 Compute 服务和数据库之间的交互,这会使 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。此单元包含控制和管理虚拟机实例的所有计算服务和数据库,以及所有实例和实例元数据。对于较大的部署,您可以使用多单元部署 overcloud,以适应大量 Compute 节点。在安装新的 overcloud 或之后的任何时间,您可以在环境中添加单元格。
如果使用 openstack 客户端,则微版本默认设置为 2.88。这是 OSP 17 中最新支持的版本。如果您需要旧的微版本,可以在命令行中传递 --os-compute-api-version <version& gt; 来请求。