f6ce6bd328
Keep the sync target repo path "common-rst" as of now. Change-Id: I552d2c0a422c4824632b11fa273629004b889306
126 lines
4.8 KiB
ReStructuredText
126 lines
4.8 KiB
ReStructuredText
=================
|
|
OpenStack Compute
|
|
=================
|
|
|
|
Use OpenStack Compute to host and manage cloud computing systems.
|
|
OpenStack Compute is a major part of an Infrastructure-as-a-Service
|
|
(:term:`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 consists of the following areas and their components:
|
|
|
|
``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-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. For details, see `Metadata
|
|
service <http://docs.openstack.org/admin-guide-cloud/compute-networking-nova.html#metadata-service>`__
|
|
in the OpenStack Cloud Administrator Guide.
|
|
|
|
``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-scheduler`` service
|
|
Takes a virtual machine instance request from the queue and
|
|
determines on which compute server host it runs.
|
|
|
|
``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. For more information, see `Configuration
|
|
Reference Guide <http://docs.openstack.org/liberty/config-reference/content/
|
|
section_conductor.html>`__.
|
|
|
|
``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-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-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. For information, see `About
|
|
nova-consoleauth <http://docs.openstack.org/admin-guide-cloud/compute-remote-console-access.html#about-nova-consoleauth>`__.
|
|
|
|
``nova-novncproxy`` daemon
|
|
Provides a proxy for accessing running instances through a VNC
|
|
connection. Supports browser-based novnc clients.
|
|
|
|
``nova-spicehtml5proxy`` daemon
|
|
Provides a proxy for accessing running instances through a SPICE
|
|
connection. Supports browser-based HTML5 client.
|
|
|
|
``nova-xvpvncproxy`` daemon
|
|
Provides a proxy for accessing running instances through a VNC
|
|
connection. Supports an OpenStack-specific Java client.
|
|
|
|
``nova-cert`` daemon
|
|
x509 certificates.
|
|
|
|
``euca2ools`` client
|
|
A set of command-line interpreter commands for managing cloud
|
|
resources. Although it is not an OpenStack module, you can configure
|
|
nova-api to support this EC2 interface. For more information, see
|
|
the `Eucalyptus 3.4
|
|
Documentation <https://www.eucalyptus.com/docs/eucalyptus/3.4/index.html>`__.
|
|
|
|
``nova`` client
|
|
Enables users to submit commands as a tenant administrator or end
|
|
user.
|
|
|
|
The queue
|
|
A central hub for passing messages between daemons. Usually
|
|
implemented with `RabbitMQ <http://www.rabbitmq.com/>`__, but can be
|
|
implemented with an AMQP message queue, such as `Apache
|
|
Qpid <http://qpid.apache.org/>`__ or `Zero
|
|
MQ <http://www.zeromq.org/>`__.
|
|
|
|
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.
|