
ZeroMQ driver is deprecated, as per the Dublin 2018 PTG decision: http://lists.openstack.org/pipermail/openstack-dev/2018-March/128055.html This change simply replaces the zeromq mention with a link to the other oslo.messaging drivers. Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com> Change-Id: I0c8d488c1daecc71d7d2817ffb4ae10727771d19
108 lines
4.0 KiB
ReStructuredText
108 lines
4.0 KiB
ReStructuredText
========================
|
|
Compute service overview
|
|
========================
|
|
|
|
.. todo:: Update a lot of the links in here.
|
|
|
|
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 Placement for resource inventory tracking and selection, 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. 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 :ref:`metadata-service-deploy`
|
|
in the Compute 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 the ``conductor`` section in the
|
|
:doc:`/configuration/config`.
|
|
|
|
``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 :ref:`about-nova-consoleauth`.
|
|
|
|
.. deprecated:: 18.0.0
|
|
|
|
``nova-consoleauth`` is deprecated since 18.0.0 (Rocky) and will be removed
|
|
in an upcoming release. See
|
|
:oslo.config:option:`workarounds.enable_consoleauth` for details.
|
|
|
|
``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.
|
|
|
|
.. deprecated:: 19.0.0
|
|
|
|
:program:`nova-xvpvnxproxy` is deprecated since 19.0.0 (Stein) and will be
|
|
removed in an upcoming release.
|
|
|
|
The queue
|
|
A central hub for passing messages between daemons. Usually implemented with
|
|
`RabbitMQ <https://www.rabbitmq.com/>`__ but
|
|
:oslo.messaging-doc:`other options are available <admin/drivers>`.
|
|
|
|
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 SQLAlchemy
|
|
supports. Common databases are SQLite3 for test and development work, MySQL,
|
|
MariaDB, and PostgreSQL.
|