Роли серверов
Все серверы, на которые производится установка Платформы, делятся на два типа:
- Узлы управления (Control Plane).
- Узлы рабочих нагрузок (Data Plane).
В рамках каждого такого слоя серверы выполняют специфические роли, которые предъявляют различные требования к их производительности, количеству и правилам масштабирования.
На серверах, относящихся к слою управления, выполняются службы, отвечающие за управление компонентами Платформы или обеспечивающие их функционирование. Часть ролей слоя управления является опциональной или может быть заменена на оборудование, имеющееся в наличии у Заказчика.
На управляющих узлах (контроллерах) размещаются основные службы Платформы и их API (Nova, Cinder, Glance и т. д.). Также на серверах с этой ролью размещаются служебные компоненты (служебный кластер Kubernetes, RabbitMQ, Kafka, MariaDB и т.д). Если в документации для компонента не указано иное, компоненты размещаются в служебном кластере Kubernetes.
В крупных инсталляциях допустимо выделять контроллеры для расширения служебного кластера Kubernetes и/или кластеров служебных БД. Рекомендованная конфигурация дополнительных контроллеров соответствует основной конфигурации.
Минимальное количество контроллеров в инсталляции — 3, увеличение количества контроллеров производится согласно разделу Принципы масштабирования контроллеров.
На узлах с этой ролью размещаются сервисы мониторинга и логирования.
Мониторинг реализован на базе Zabbix с использованием MySQL для хранения данных.
Логирование реализовано на связке OpenSearch или OpenSearch Dashboard с Apache Kafka и Filebeat.
Особенностью серверов этой роли является высокая зависимость нагрузки от объёма и состава Платформы, а также интенсивности управляющих воздействий в Платформе (создание/удаление сущностей).
Для размещения этой роли допустимо использовать виртуальные машины.
По умолчанию рекомендуется закладывать 1 сервер. При большом размере инсталляции может потребоваться увеличение узлов до трёх.
Эта роль представлена единственным сервером и используется начиная с самых начальных этапов развёртывания Платформы. В отличие от остальных ролей, этот сервер должен предоставляться Заказчиком с уже установленной ОС.
Основные задачи деплой-сервера:
- Запуск механизмов развёртывания Платформы.
- Изменение настроек, обновление и восстановление Платформы.
- Подготовка серверов к включению в состав Платформы.
- Размещение сервиса репозитория пакетов и образов компонентов Платформы.
Требуется только 1 сервер. Допустимо дублирование роли. Необходимо выполнять регулярное резервное копирование деплой-ноды с периодическим контролем корректности его восстановления.
На серверах, относящихся к слою рабочих нагрузок (Data Plane), выполняются компоненты, отвечающие за выполнение рабочих нагрузок и непосредственно рабочая нагрузка.
Вычислительные узлы (Compute Nodes, далее — ВУ) — основные серверы, которые используются для запуска рабочих нагрузок пользователей. Эти узлы поставляются с гипервизором KVM.
Рекомендованные конфигурации отличаются высокой вариативностью в зависимости от требований Заказчика. Возможно применение различных конфигураций в рамках роли с объединением одинаковых серверов в агрегаты (подробнее — в разделе Агрегаты вычислительных узлов).
Общая рекомендация: использовать процессоры с максимальным количеством ядер при заданной частоте. Объём памяти зависит от требований к максимальному объёму памяти в типе ВМ и допустимых коэффициентов переподписки.
В инсталляции Платформы должен быть минимум 1 узел. Чтобы полностью использовать функциональность Платформы («живую» миграцию, Affinity и Anti-Affinity) необходимо минимум 3 узла. Допустимо увеличивать количество вычислительных узлов по одному серверу.
На сетевых узлах (Network nodes) размещаются компоненты, реализующие основные сетевые функции (SNAT, DHCP, DNS). Эти узлы можно комбинировать с узлами контроллера.
Минимальное количество сетевых узлов — 2, далее возможно добавлять по 2 узла. Рекомендуемое количество: по одному узлу на каждые 150 виртуальных маршрутизаторов, выполняющих SNAT, и 300 сетей.
На узлах с ролью Ceph устанавливается программно-определяемое хранилище Ceph. Платформа использует Ceph версии Octopus. В качестве накопителей используются твердотельные накопители.
Минимальное количество узлов в кластере — 3. Кластер масштабируется добавлением узлов кратно трём. Максимальное количество узлов в кластере — 9. Если требуется большая ёмкость дискового хранилища, формируется несколько кластеров Ceph.
Узлы High-IOPS Storage — это хранилище, реализованное на базе выделенных физических серверов стандартной архитектуры, функционирующих как одиночные экземпляры блочного хранилища.
Высокая производительность и минимальные задержки операций ввода-вывода обеспечиваются за счёт использования NVMe-дисков. Данный вид хранилища не обеспечивает механизмов защиты данных от выхода из строя серверного узла целиком. При этом, с помощью механизмов «горячего» резервирования реализуется защита функционирования сервиса на уровне базовых аппаратных компонентов (электропитание, подключение в сети передачи данных и т. д.). Для защиты пользовательских данных используется механизм репликации блочных данных с помощью технологии LVM Mirror.
Количество узлов High-IOPS Storage в инсталляции может быть произвольным.