Используйте службу вычислительных ресурсов OpenStack, чтобы размещать облачные вычислительные системы и управлять ими. Эта служба является основной частью системы Infrastructure-as-a-Service (IaaS). Основные модули реализованы с помощью Python.
Служба вычислительных ресурсов OpenStack взаимодействует со службой идентификации OpenStack для аутентификации, со службой образов OpenStack — для работы с образами дисков и серверов, а также с панелью мониторинга OpenStack — для использования интерфейса пользователя и администратора. Доступ к образам ограничен проектами и пользователями, квоты ограничены проектом (например, числом экземпляров). Службу вычислительных ресурсов OpenStack можно масштабировать горизонтально на стандартном оборудовании, а также загружать образы для запуска экземпляров.
Служба вычислительных ресурсов OpenStack состоит из следующих областей и компонентов.
nova-api
Принимает вызовы API вычислительных ресурсов конечных пользователей и отвечает на них. Служба поддерживает API службы вычислительных ресурсов OpenStack, Amazon EC2 API и специальный API администратора для привилегированных пользователей, который позволяет выполнять администрирование. Она применяет определенные политики и запускает большинство действий по оркестрации, например выполнение экземпляра.
nova-api-metadata
Принимает запросы метаданных от экземпляров. В общем случае служба nova-api-metadata
используется при работе в режиме нескольких хостов с инсталляциями nova-network
. Подробнее см. в разделе Служба метаданных в руководстве администратора OpenStack.
nova-compute
Рабочий демон, создающий и удаляющий экземпляры виртуальных машин посредством API гипервизоров. Например:
XenAPI для XenServer/XCP;
библиотека виртуализации для KVM или QEMU;
VMwareAPI для VMware.
Обработка достаточно сложная. Обычно демон принимает действия из очереди и выполняет последовательность системных команд, например запускает экземляр KVM и обновляет его статус в базе данных.
nova-scheduler
Получает запрос на экземпляр виртуальной машины из очереди и определяет, на каком хосте вычислительного сервера его запускать.
nova-conductor
Является посредником для взаимодействия между службой``nova-compute`` и базой данных. Предотвращает прямой доступ службы nova-compute
к базе данных облака. Модуль nova-conductor
масштабируется горизонтально. Однако его не следует развертывать на узлах, на которых выполняется служба nova-compute
. Подробнее см. в Руководстве по настройке OpenStack.
nova-cert
Серверный демон, предоставляющий сертификаты X509 службе Nova Cert. Используется, чтобы создавать сертификаты для euca-bundle-image
. Необходим только для EC2 API.
nova-network worker
Аналогичен службе nova-compute
, принимает сетевые задачи из очереди и управляет сетью. Настраивает мостовые интерфейсы или изменяет правила IPtables.
nova-consoleauth
Авторизует токены для пользователей, которые предоставляют прокси-серверы консоли. См. службы``nova-novncproxy`` и nova-xvpvncproxy
. Эта служба обеспечивает работу прокси-серверов консоли. Можно запускать прокси-серверы любого типа с одной службой nova-consoleauth в конфигурации кластера. Подробнее см. в разделе О nova-consoleauth.
nova-novncproxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения VNC. Поддерживает клиенты novnc для браузеров.
nova-spicehtml5proxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения SPICE. Поддерживает клиенты HTML5 для браузеров.
nova-xvpvncproxy
Предоставляет прокси-сервер для доступа к запущенным экземплярам с помощью соединения VNC. Поддерживает специальный клиент Java для OpenStack.
nova-cert
Сертификаты x509.
nova
Позволяет пользователям работать с командами в качестве администратора тенанта или конечного пользователя.
Центральная точка обмена сообщениями демонов. Обычно реализуется с помощью RabbitMQ, но может быть и другая реализация очереди сообщений AMQP, например ZeroMQ.
Хранит большинство состояний построения и выполнения, включая следующее:
доступные типы экземпляров;
используемые экземпляры;
доступные сети;
проекты.
Теоретически служба вычислительных ресурсов OpenStack поддерживает любую базу данных с поддержкой SQL-Alchemy. Общие базы данных: SQLite3 для тестирования и разработки, MySQL, MariaDB и PostgreSQL.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.