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

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

Используйте службу вычислительных ресурсов 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.

SQL база данных

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

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

  • используемые экземпляры;

  • доступные сети;

  • проекты.

Теоретически служба вычислительных ресурсов OpenStack поддерживает любую базу данных с поддержкой SQL-Alchemy. Общие базы данных: SQLite3 для тестирования и разработки, MySQL, MariaDB и 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.