使用OpenStack Compute来托管和管理云计算系统。OpenStack Compute是基础架构即服务(IaaS)系统的主要部分。主要模块是用Python实现的。
OpenStack Compute与OpenStack Identity进行交互以进行身份验证; 用于磁盘和服务器映像的OpenStack Image服务; 和用于用户和管理界面的OpenStack仪表板。图像访问受到项目和用户的限制; 配额对项目的限制(例如,实例数量)。OpenStack Compute可以在标准硬件上水平扩展,并下载图像以启动实例。
OpenStack Compute由以下几个方面组成:
nova-api 服务
接受并回复终端用户的计算API调用。该服务支持OpenStack Compute API,Amazon EC2 API和特殊的Admin API,用于特权用户执行管理操作。它执行一些策略并启动大多数业务流程活动,例如运行一个实例。
nova-api-metadata 服务
接受来自实例的元数据请求。nova-api-metadata 当您在多主机模式下运行nova-network安装时,通常会使用该服务 。有关详细信息,请参阅 “OpenStack管理员指南”中的元数据服务。
nova-compute 服务
通过虚拟机管理程序API创建和终止虚拟机实例的工作程序守护程序。例如:
处理相当复杂。基本上,守护程序接受队列中的操作,并执行一系列系统命令,例如启动KVM实例并更新数据库中的状态。
nova-scheduler 服务
从队列获取虚拟机实例请求,并确定运行在哪个计算服务器主机上。
nova-conductor 模块
中介nova-compute服务和数据库之间的交互。它消除了对nova-compute服务器所做的云数据库的直接访问。该nova-conductor模块水平缩放。但是,不要在nova-compute服务运行的节点上部署它 。有关详细信息,请参阅配置参考指南。
nova-cert 模块
为X509证书提供Nova Cert服务的服务器守护程序。用于生成证书 euca-bundle-image。只需要EC2 API。
nova-consoleauth 守护进程
为控制台代理提供的用户授权令牌。看到 nova-novncproxy和nova-xvpvncproxy。此服务必须运行才能让控制台代理工作。您可以在集群配置中针对单个nova-consoleauth服务运行任一类型的代理。有关信息,请参阅关于nova-consoleauth。
nova-novncproxy 守护进程
提供通过VNC连接访问运行实例的代理。支持基于浏览器的novnc客户端。
nova-spicehtml5proxy 守护进程
通过SPICE连接提供访问运行实例的代理。支持基于浏览器的HTML5客户端。
nova-xvpvncproxy 守护进程
提供通过VNC连接访问运行实例的代理。支持特定于OpenStack的Java客户机。
队列(queue)
在守护进程之间传递消息的中心枢纽。通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。
SQL数据库
存储云基础设施的大部分构建时间和运行时状态,包括:
理论上,OpenStack Compute可以支持SQL-Alchemy支持的任何数据库。公共数据库是用于测试和开发工作的SQLite3,MySQL,MariaDB和PostgreSQL。