目录
- 目录
- 前文列表
- 前言
- Compute service overview
- Nova 的组件
- nova-api service
- nova-api-metadata service
- nova-compute service
- nova-scheduler service
- nova-conductor module
- nova-cert module
- nova-network worker daemon
- nova-consoleauth daemon
- nova-novncproxy daemon
- nova-xvpvncproxy daemon
- nova-spicehtml5proxy daemon
- nova-cert daemon
- nova client
- The queue
- SQL database
前文列表
Openstack组件部署 — Overview和前期环境准备
Openstack组建部署 — Environment of Controller Node
Openstack组件部署 — Keystone功能介绍与认证实现流程
Openstack组件部署 — Keystone Install & Create service entity and API endpoints
Openstack组件部署 — keystone(domain, projects, users, and roles)
Openstack组建部署 — Glance Install
前言
网上的查阅的资料鱼龙混杂、概念不明确、个性太强。所以想想还是可以翻译一篇关于Nova的官方文档吧,英文能力有限,望指正。:)
原文在这里,Click Click~
Compute service overview
官档:Use OpenStack Compute to host and manage cloud computing systems. OpenStack Compute is a major part of an Infrastructure-as-a-Service (IaaS) system. The main modules are implemented in Python.
OpenStack Compute interacts with OpenStack Identity for authentication; OpenStack Image service for disk and server images; and OpenStack dashboard for the user and administrative interface. Image access is limited by projects, and by users; quotas are limited per project (the number of instances, for example). OpenStack Compute can scale horizontally on standard hardware, and download images to launch instances.
Openstack Compute组件主要用于创建虚拟主机和管理云计算平台,Openstack是IaaS的重要组成部分,使用Python编程语言来实现主要的模块。
Openstack Compute能够与Openstack Identity service、Openstack Image service、Openstack dashboard等Openstack service进行交互。其中能够通过Identity serivce中的Projects和Users来限制对镜像资源的访问,quotas限制着每一个Project中包含的Openstack service资源(EG. instances的数量)。Openstack Compute可以在标准硬件中进行水平伸缩,并且可以下载镜像来启动虚拟机实例。
Nova 的组件
nova-api service
Accepts and responds to end user compute API calls. The service supports the OpenStack Compute API, the Amazon EC2 API, and a special Admin API for privileged users to perform administrative actions. It enforces some policies and initiates most orchestration activities, such as running an instance.
nova-api service
能够接收和响应用户终端的Compute API
调用。nova-api service
支持Openstack Compute API
,Amazon EC2 API
,和一个特权用户用于执行管理操作的Admin API
。除此之外nova-api service
还能够强制实施一些策略和启动大多数进程,例如:运行一个实例。
nova-api-metadata service
Accepts metadata requests from instances. The nova-api-metadata service is generally used when you run in multi-host mode with nova-network installations.
nova-api-metadata service
能够接收来自虚拟机实例的元数据请求,当你的nova-network
在multi-host
模式下运行时,一般会同时运行nova-api-metadata service
。
nova-compute service
A worker daemon that creates and terminates virtual machine instances through hypervisor APIs. For example:
- XenAPI for XenServer/XCP
- libvirt for KVM or QEMU
- VMwareAPI for VMware
Processing is fairly complex. Basically, the daemon accepts actions from the queue and performs a series of system commands such as launching a KVM instance and updating its state in the database.
nova-compute service
是一个通过hypervisor APIs(虚拟化层API)
来实现创建和终止虚拟机实例的守护进程,有如下hypervisor APIs
:
- XenAPI for XenServer/XCP
- libvirt for KVM or QEMU
- VMwareAPI for VMware
nova-compute service
的处理的过程相当复杂。基本上,nova-compute service
会在queue
中接收一个动作之后,执行一连串的系统指令。例如:启动一个KVM虚拟机实例和更新这些实例在数据库中的状态。
nova-scheduler service
Takes a virtual machine instance request from the queue and determines on which compute server host it runs.
nova-scheduler service
会从queue
中接收一个虚拟机实例的请求,并确定该实例能够运行在哪一台Compute server
中。
nova-conductor module
Mediates interactions between the nova-compute service and the database. It eliminates direct accesses to the cloud database made by the nova-compute service. The nova-conductor module scales horizontally. However, do not deploy it on nodes where the nova-compute service runs.
nova-conductor module
能够协调nova-compute service
和database
之间的交互。nova-conductor
避免了nova-compute service
对database
的直接访问操作。nova-conductor
模块能够进行水平伸缩。然而,不能够将nov-conductor
部署在nova-compute service
运行的Node上。
nova-cert module
A server daemon that serves the Nova Cert service for X509 certificates. Used to generate certificates for euca-bundle-image. Only needed for the EC2 API.
nova-cert module
是一个Nova证书(X509 certificates
)服务的服务器守护进程。该守护进程用于为euca-bundle-image
生成证书,只有在使用EC2 API
时,才需要这个守护进程。
nova-network worker daemon
Similar to the nova-compute service, accepts networking tasks from the queue and manipulates the network. Performs tasks such as setting up bridging interfaces or changing IPtables rules.
nova-network worker daemon
类似于nova-compute service
,从queue
中接收网络任务,并且操纵这个网络。执行诸如:设置bridging interfaces
或者改变IPtables rules
之类的任务。
nova-consoleauth daemon
Authorizes tokens for users that console proxies provide. See nova-novncproxy and nova-xvpvncproxy. This service must be running for console proxies to work. You can run proxies of either type against a single nova-consoleauth service in a cluster configuration.
nova-consoleauth daemon
为控制台代理(nova-novncproxy
、nova-xvpvncproxy
)提供的Users授予tokens
,nova-consoleauth service
必须运行在控制台代理工作的时候。在集群配置中,你可以为单个nova-consoleauth service
运行两种类型的控制台代理。
nova-novncproxy daemon
Provides a proxy for accessing running instances through a VNC connection. Supports browser-based novnc clients.
nova-novncproxy daemon
提供一个通过VNC connection
协议来访问正在运行中的虚拟机实例的代理服务。支持browser-based novnc client
(基于浏览器的客户端)。
nova-xvpvncproxy daemon
Provides a proxy for accessing running instances through a VNC connection. Supports an OpenStack-specific Java client.
nova-xvpvncproxy daemon
提供一个通过VNC connection
来访问正在运行中的虚拟机实例的代理服务。支持一个OpenStack-specific Java client
(Openstack特殊的Java客户端)。
nova-spicehtml5proxy daemon
Provides a proxy for accessing running instances through a SPICE connection. Supports browser-based HTML5 client.
nova-spicehtml5proxy daemon
提供一个通过SPICE connection
协议来访问正在运行中的虚拟机实例的代理服务。支持browser-based HTML5 client
(基于浏览器的HTML5客户端)
nova-cert daemon
x509 certificates.
x509证书
nova client
Enables users to submit commands as a tenant administrator or end user.
nova client
能够让Tenant管理员或用户终端提交指令。
The queue
A central hub for passing messages between daemons. Usually implemented with RabbitMQ, but can be implemented with an AMQP message queue, such as Zero MQ.
queue
是守护进程之间传递信息的中心枢纽。通常使用RabbitMQ
来实现,但是也可以使用AMQP
消息队列来实现,例如:Zero MQ
。
SQL database
Stores most build-time and run-time states for a cloud infrastructure, including:
- Available instance types
- Instances in use
- Available networks
- Projects
Theoretically, OpenStack Compute can support any database that SQL-Alchemy supports. Common databases are SQLite3 for test and development work, MySQL, and PostgreSQL.
SQL database
用于存储大多数云基础架构在编译时(build-time)和运行时(run-time)的状态。包括:
- Available instance types 可用的虚拟机实例类型
- Instances in use 使用中的虚拟机实例
- Available networks 可用的网络
- Projects 项目
从理论上来说,Openstack Compute能够支持任何类型的数据库。常见的数据库有:用于测试和开发的SQLite3
、除此之外还有MySQL
、PostgreSQL
。