Нижний слой хранения (минимальное требование — 3 узла в режиме Erasure Coding, 1 узел - в режиме без избыточного кодирования).
Keycloak
Система управления аутентификацией и авторизацией (используется для Admin UI и доступа к Zakroma).
Nginx
Proxy-сервер, выступающий в качестве фронтенда для Zakroma-Storage.
PostgreSQL
СУБД для метаданных Zakroma-Storage и Keycloak.
Kafka (опционально)
Система обмена сообщениями, используемая сервисами Zakroma (требуется для различных служебных операций, опционально).
Компоненты, устанавливаемые с помощью Ansible ролей
Название
Поддерживаемые версии
Zakroma-Storage
2.5.0
Zakroma-ZDS
1.5.1
Keycloak
22
Nginx
в зависимости от дистрибутива Linux (устанавливается из стандартных репозиториев хостовой операционной системы)
Kafka
3.8.1
Kafka-UI
0.7.2
Версии Ansible ролей
Название
Задачи роли
Версия
zakroma-storage
Установка и конфигурирование компонента Zakroma-Storage
6.3.0
zakroma-zds
Установка и конфигурирование компонента Zakroma-ZDS
5.2.0
keycloak
Установка и конфигурирование компонента Keycloak
6.1.0
nginx
Установка и конфигурирование компонента Nginx
1.1.0
certificates
Копирование сертификатов (TLS/SSL) на целевые хосты
1.0.0
kafka
Установка и конфигурирование Kafka
2.0.0
kafka-ui
Установка и конфигурирование Kafka-UI
1.0.0
Поддерживаемые дистрибутивы Linux
Название
Поддерживаемые версии
Debian
10, 11, 12
Ubuntu
20, 22, 24
AlmaLinux
8, 9
RedOs
7, 8
RHEL
8, 9
ALT Server
10.4
Варианты развертывания
Примечание
Количество серверов каждого компонента может меняться в зависимости от требуемого объёма хранения, уровня отказоустойчивости и производительности.
Также возможно объединять или совмещать некоторые из компонентов на меньшем количестве машин, например, для тестовых стендов или не очень нагруженных систем.
Демо-стенд (Single-Node Deployment)
Предназначен для демонстрации возможностей платформы Zakroma и её компонентов.
Идеально подходит для ознакомления с функциональностью системы и внутренних тестов.
Разворачивается на одном сервере, что упрощает настройку и сокращает требования к инфраструктуре.
Сервер
Компоненты
Server1
Zakroma-Storage, Zakroma-ZDS, Nginx,Keycloak,PostgreSQL, Kafka и Kafka-UI (опционально)
ansible.cfg
Файл конфигурации Ansible, в котором задаются параметры работы (например, пути к инвентарям, настройки подключения, параметры логирования и т.д.).
CHANGELOG.md
Журнал изменений проекта. Здесь фиксируются версии, внесённые правки, улучшения и исправления ошибок.
collections/
Каталог, содержащий Ansible collections – наборы ролей, плагинов и модулей, объединённых в пакеты для удобного повторного использования и распространения.
docs/
Каталог с документацией в формате Markdown.
README.base-cluster.md – инструкция и описание для развёртывания базового кластера.
README.multicluster.md – инструкция и описание для развёртывания мультикластера.
README.prepare.md – руководство по подготовке окружения.
README.single-node.md – инструкция и описание для развёртывания одиночного узла.
files/realm.json
JSON-файл, содержащий сконфигурированный REALM для Keycloak.
inventories/
Каталог с инвентарями Ansible, разделёнными по различным сценариям развёртывания:
base-cluster/ Инвентарь для развёртывания базового кластера:
group_vars/ – переменные групп хостов для базового кластера:
certificates.yml – переменные для копирования сертификатов на целевые хосты.
java.yml – переменные для установки Java.
kafka-ui-nginx.yml – переменные для установки и конфигурирования Nginx для Kafka-UI.
kafka-ui.yml – переменные для установки и конфигурирования Kafka-UI.
kafka.yml – переменные для установки и конфигурирования Kafka.
keycloak.yml – переменные для установки и конфигурирования Keycloak.
zakroma-storage-nginx.yml – переменные для установки и конфигурирования Nginx для Zakroma-Storage.
zakroma-storage.yml – переменные для установки и конфигурирования Zakroma-Storage.
zakroma-zds-ec.yml – переменные для установки и конфигурирования Zakroma-ZDS.
hosts – определение хостов для базового кластера.
multicluster/
Инвентарь для мультикластерного развёртывания:
cluster-1/ и cluster-2/
Для каждого кластера:
group_vars/ – аналогичные файлы с переменными (такие же файлы, как в base-cluster).
hosts – определение хостов для конкретного кластера.
single-node/
Инвентарь для развёртывания на одном узле:
group_vars/ – файлы с переменными для одиночного узла. Отличительной особенностью является наличие файла * zakroma-zds-fs.yml* (нижний слой хранения без Erasure Coding).
hosts – файл с описанием единственного узла.
playbooks/
Каталог с playbook’ов, необходимых для применение ролей или выполнение конкретных задач:
sample-play-copy-certificates.yml – playbook для копирования сертификатов.
sample-play-java.yml – playbook для установки Java.
sample-play-kafka-ui-nginx.yml – playbook для установки и конфигурирования Nginx для Kafka-UI.
sample-play-kafka-ui.yml – playbook для установки и конфигурирования Kafka UI.
sample-play-kafka.yml – playbook для установки и конфигурирования Kafka.
sample-play-keycloak-copy-realm.yml – playbook для копирования realm-конфигурации в Keycloak.
sample-play-keycloak.yml – playbook для установки и конфигурирования Keycloak.
sample-play-zakroma-storage-nginx.yml – playbook для установки и конфигурирования Nginx для Zakroma-Storage.
sample-play-zakroma-storage.yml – playbook для установки и конфигурирования Zakroma-Storage.
sample-play-zakroma-zds-ec.yml – playbook для установки и конфигурирования Zakroma-ZDS в режиме EC (с применением Erasure Coding)
sample-play-zakroma-zds-fs.yml – playbook для установки и конфигурирования Zakroma-ZDS в режиме FS (без Erasure Coding).
README.md
Основной файл с описанием проекта, содержащий обзор, инструкции по установке, использованию и общую информацию о проекте.