Состав поставки для установки через Ansible
Компоненты системы
| Компонент | Описание | 
|---|---|
| Zakroma-Storage | Управляющий слой, обеспечивающий S3-протокол. | 
| Zakroma-ZDS | Нижний слой хранения (минимальное требование — 3 узла в режиме Erasure Coding, 1 узел - в режиме без избыточного кодирования). | 
| Keycloak | Система управления аутентификацией и авторизацией (используется для Admin UI и доступа к Zakroma). | 
| Nginx | Proxy-сервер, выступающий в качестве фронтенда для Zakroma-Storage. | 
| PostgreSQL | СУБД для метаданных Zakroma-Storage и Keycloak. | 
| Kafka (опционально) | Система обмена сообщениями, используемая сервисами Zakroma (требуется для различных служебных операций, опционально). | 
| Kafka-UI (опционально)  | Интерфейс управления и мониторинга Kafka-кластером через веб-приложение. | 
Компоненты, устанавливаемые с помощью Ansible ролей
| Название | Поддерживаемые версии | 
|---|---|
| Zakroma-Storage | 2.6.0 | 
| Zakroma-ZDS | 1.6.2 | 
| Keycloak | 26 | 
| Nginx | в зависимости от дистрибутива Linux  (устанавливается из стандартных репозиториев хостовой операционной системы)  | 
| Java | в зависимости от дистрибутива Linux  (устанавливается из стандартных репозиториев хостовой операционной системы)  | 
| Kafka | 3.8.1 | 
| Kafka-UI | 0.7.2 | 
Поддерживаемые дистрибутивы Linux
| Название | Поддерживаемые версии | 
|---|---|
| Debian | 10, 11, 12 | 
| Ubuntu | 20, 22, 24 | 
| AlmaLinux | 8, 9 | 
| RedOs | 7, 8 | 
| RHEL | 8, 9 | 
| ALT Server | 10.4 (Mendelevium) | 
Структура дистрибутива
Дистрибутив поставляется архивом видаzakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>.tar.gz
1. 2├── ansible.cfg 3├── CHANGELOG.md 4├── collections 5│ └── ansible_collections
- ansible.cfg
Файл конфигурации Ansible, в котором задаются параметры работы (например, пути к инвентарям, настройки подключения, параметры логирования и т.д.). - CHANGELOG.md
Журнал изменений проекта. Здесь фиксируются версии, внесённые правки, улучшения и исправления ошибок. - collections/
Каталог, содержащий Ansible collections – наборы ролей, плагинов и модулей, объединённых в пакеты для удобного повторного использования и распространения. - 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 – определение хостов для базового кластера.
 
 - group_vars/ – переменные групп хостов для базового кластера:
 - multicluster/
Инвентарь для мультикластерного развёртывания:- cluster-1/ и cluster-2/
Для каждого кластера:- group_vars/ – аналогичные файлы с переменными (такие же файлы, как в base-cluster).
 - hosts – определение хостов для конкретного кластера.
 
 
 - cluster-1/ и cluster-2/
 - single-node/
Инвентарь для развёртывания на одном узле:- group_vars/ – файлы с переменными для одиночного узла. Отличительной особенностью является наличие файла * zakroma-zds-fs.yml* (нижний слой хранения без Erasure Coding).
 - hosts – файл с описанием единственного узла.
 
 
 - base-cluster/
Инвентарь для развёртывания базового кластера:
 - 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
Основной файл с описанием проекта, содержащий обзор, инструкции по установке, использованию и общую информацию о проекте. - roles/
Каталог, где располагаются Ansible роли.