Перейти к содержанию

Архитектура модуля управления облаком

Архитектура

interface_engineer_185.png

Web-портал

  • СУБД PostgreSQL (1) является основным местом хранения всей информации платформы.

  • Сервер приложений Nginx Unit (2) обрабатывает HTTP-запросы от пользователей, переданных посредством тонкого клиента.

  • Nginx proxy (3) является обратным прокси-сервером для ретрансляции HTTPS-запросов пользователей на внутренние компоненты системы. Обеспечивает завершение SSL-соединения для проходящего через него трафика.

  • Брокер сообщений/очередей RabbitMQ (4) принимает, временно хранит и удаляет задания для фонового выполнения.

  • Key-Value (NoSQL) СУБД Redis (5) хранит оперативные данные, такие как сессии пользователей и кэширование данных с основной СУБД PostgreSQL.

  • PgBouncer (6) создает и поддерживает пул соединений с СУБД PostgreSQL для Nginx Unit и Background Workers.

  • Пул процессов Background Workers (7) выполняет задания, поступающие в очереди брокера сообщений RabbitMQ.

  • Объектное хранилище S3 MinIO (8) служит для хранения сформированных отчетов.

  • Системы виртуализации (9) – аппаратно-программные комплексы, предоставляющие API для создания сущностей (или заданий на их выполнение) в автоматическом режиме.

  • Mail Server (10) служит для доставки сообщений электронной почты.

  • LDAP (11) выполняет идентификацию и аутентификацию пользователей при доступе через доменную службу.


Оркестратор, вспомогательное ПО

  • Gateway API (12) на базе ПО Nginx маршрутизирует все запросы к сервисам через единый интерфейс.

  • СУБД PostgreSQL (13) служит для хранения конфигураций облаков и логов событий для операций с длительным временем выполнения.

  • Брокер очередей RabbitMQ (14) принимает, временно хранит и удаляет очереди сообщений операций с длительным временем выполнения.

  • Трассировщик Jaegger (15) предоставляет контроль выполнения функций для выявления проблем.


Оркестратор, сервисы

  • Управляющий сервис manage-svc (16) управляет миграцией схем БД и внесением в БД конфигураций облаков.

  • Сервис task-svc (17) служит для чтения заданий и логов из БД.

  • Сервис spacevm-svc (18) служит для работы с SpaceVM.

  • Сервис vmware-svc (19) служит для работы с VMware vSphere.

  • Сервис migrate-svc (20) служит для работы с миграциями между системами управления виртуализациями.

  • Сервис dns-svc (21) служит для работы с DNS (DNS Windows Server (25), Bind9 (24)).

    Примечание

    Поддержка Bind9 на данный момент в разработке.

  • Сервис winremote-svc (22) принимает команды от сервиса dns-svc по протоколу gRPC и транслирует их в команды cmd и PowerShell для создания и удаления записей на сервере DNS под управлением Windows Server.

  • Сервис IPAM (IP Address Management) (26) необходим для централизованного планирования, отслеживания и управления IP-адресным пространством сети. В модуле управления облаком поддерживается IPAM на основе NetBox.

    IPAM используется для управления адресацией IP-подсетей и может применяться, в частности, для автоматического назначения IP-адресов ВМ в SpaceVM, создаваемых через заявки.


Оркестратор, Runners

  • Migration-runner (23) выполняет миграции ВМ между различными системами управления виртуализациями. Реализована миграция ВМ из VMware vSphere в SpaceVM. Работает как отдельная служба systemd. Получает задание от сервиса migration-svc по протоколу gRPC.