Nova — это служба OpenStack, которая предоставляет пользователям экземпляры виртуальных машин для запуска приложений на этих виртуальных машинах, которые рассматриваются как серверы. Он также работает с различными технологиями виртуализации, такими как Hyper-V, KVM, VMware, Xen и т. д. Он похож на сервис EC2 в облаке Amazon Web Services (AWS). Поскольку OpenStack — это частное облако, предприятия используют OpenStack для большей безопасности в своих личных целях. Он использует центральную базу данных, которую могут использовать и другие службы.
Следующие службы необходимы для базового функционирования OpenStack:
- Keystone: Используйте для аутентификации пользователя.
- Glance: работает как служба хранения, предоставляющая вычислительный репозиторий образов.
- Neutron: эта служба отвечает за подготовку сети.
Особенности Nova:
- Nova написана на языке Python. Библиотеки Python, используемые Nova, включают Eventlet (используется для работы в сети) и SQLAlchemy (используется для целей SQL).
- Nova следует архитектуре горизонтального масштабирования вместо вертикального масштабирования, при котором нагрузка приходится только на один сервер, который распределяется по разным серверам.
- Он отвечает за управление платформой «инфраструктура как услуга» (IaaS), которая позволяет компаниям разрабатывать облачные сервисы.
- Том для виртуальной машины Nova предоставляется cinder, который также является службой OpenStack.
- Панель инструментов предоставляет пользовательский веб-интерфейс для nova.
- Nova использует традиционные базы данных SQL для хранения информации. Они (логически) совместно используются несколькими компонентами.
- Он работает как набор демонов поверх существующих серверов Linux для предоставления услуг.
Варианты использования Nova
- Nova используется для создания виртуальных машин.
- Он также поддерживает серверы без операционной системы.
- Он имеет ограниченную поддержку служб системных контейнеров, таких как докер.
Нова Архитектура
Ниже приведено полезное описание основных компонентов типичного развертывания Nova. Keystone — это информационная панель в OpenStack, представляющая собой интерфейс для клиента. Сетевые услуги предоставляются нейронами. Glance и Cinder используются для хранения неструктурированных данных, таких как изображения, видео и другие документы. Nova состоит из нескольких серверных процессов, и каждый сервер выполняет разные функции.
Составные части:
- БД: БД — это база данных SQL, используемая для хранения данных. Он работает как центральная база данных, совместно используемая всеми компонентами.
- API: API — это компонент, который соединяется с другими компонентами через Oslo. очередь сообщений или HTTP переводит команды и получает HTTP-запросы.
- Планировщик: какой хост получает каждый экземпляр, определяется планировщиком, чтобы снизить нагрузку на хосты.
- Compute: управляет взаимодействием с виртуальными машинами и гипервизорами.
- Проводник:обрабатывает запросы, требующие координации (создание/изменение размера), действует как прокси базы данных и обрабатывает преобразования объектов.
Источники для использования услуг Nova:
- Horizon: это также одна из услуг, предоставляемых OpenStack. Это пользовательский интерфейс, через который пользователь может взаимодействовать и пользоваться услугами nova и другими службами OpenStack.
- CLI: пользователь может взаимодействовать через интерфейс командной строки, войдя в свою учетную запись через CLI.
- Novaclient: API Python и сценарий командной строки (устанавливается как nova), каждый из которых устанавливает полный API OpenStack nova.