Обзор службы вычислительных ресурсов

Обзор службы вычислительных ресурсов

Используйте службу вычислительных ресурсов OpenStack, чтобы размещать облачные вычислительные системы и управлять ими. Эта служба является основной частью системы Infrastructure-as-a-Service (IaaS). Основные модули реализованы с помощью 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 состоит из следующих областей и компонентов.

Служба nova-api
Принимает вызовы API вычислительных ресурсов конечных пользователей и отвечает на них. Служба поддерживает API службы вычислительных ресурсов OpenStack, Amazon EC2 API и специальный API администратора для привилегированных пользователей, который позволяет выполнять администрирование. Она применяет определенные политики и запускает большинство действий по оркестрации, например выполнение экземпляра.
Служба nova-api-metadata
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 in the OpenStack Administrator Guide.
Служба nova-compute

Рабочий демон, создающий и удаляющий экземпляры виртуальных машин посредством API гипервизоров. Например:

  • XenAPI для XenServer/XCP;
  • библиотека виртуализации для KVM или QEMU;
  • VMwareAPI для VMware.

Обработка достаточно сложная. Обычно демон принимает действия из очереди и выполняет последовательность системных команд, например запускает экземляр KVM и обновляет его статус в базе данных.

nova-placement-api service
Tracks the inventory and usage of each provider. For details, see Placement API.
Служба nova-scheduler
Получает запрос на экземпляр виртуальной машины из очереди и определяет, на каком хосте вычислительного сервера его запускать.
Модуль nova-conductor
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.
Модуль nova-cert
Серверный демон, предоставляющий сертификаты X509 службе Nova Cert. Используется, чтобы создавать сертификаты для euca-bundle-image. Необходим только для EC2 API.
Демон nova-consoleauth
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.
Демон nova-novncproxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения VNC. Поддерживает клиенты novnc для браузеров.
Демон nova-spicehtml5proxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения SPICE. Поддерживает клиенты HTML5 для браузеров.
Демон nova-xvpvncproxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения VNC. Поддерживает специальный клиент Java для OpenStack.
Очередь
A central hub for passing messages between daemons. Usually implemented with RabbitMQ, also can be implemented with another AMQP message queue, such as ZeroMQ.
SQL база данных

Хранит большинство состояний построения и выполнения, включая следующее:

  • доступные типы экземпляров;
  • используемые экземпляры;
  • Доступные сети
  • Проекты

Theoretically, OpenStack Compute can support any database that SQLAlchemy supports. Common databases are SQLite3 for test and development work, MySQL, MariaDB, and PostgreSQL.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.