Нижний слой хранения (минимальное требование — 3 узла в режиме Erasure Coding, 1 узел - в режиме без избыточного кодирования).
Zakroma-ZDSv2
Нижний слой хранения, поддерживающий режим Erasure Coding и режим репликации (Replica Factor), поставляется как решение по умолчанию начиная с версии 7.0.0 .
Keycloak (опционально)
Система управления аутентификацией и авторизацией (используется для доступа в Admin UI и доступа пользователей в Закрома.Хранение).
PostgreSQL
СУБД для метаданных Zakroma-Storage и Keycloak.
Kafka (опционально)
Система обмена сообщениями, используемая сервисами Zakroma (требуется для различных служебных операций, опционально).
Kafka-UI (опционально)
Интерфейс управления и мониторинга Kafka-кластером через веб-приложение.
Nginx не входит в базовые сценарии установки поставки 7.2.1. Роль nginx остается в архиве для legacy-инсталляций, где Nginx уже используется как reverse proxy или TLS termination, и описана в отдельной инструкции: Настройка Nginx.
Компоненты, устанавливаемые с помощью Ansible ролей
Название
Поддерживаемые версии
Zakroma-Storage
2.9.2
Zakroma-ZDS
1.6.5
Keycloak
26.5.5
Java
в зависимости от дистрибутива Linux (устанавливается из стандартных репозиториев хостовой операционной системы)
Kafka
3.8.1
Kafka-UI
0.7.2
Zakroma-ZDSv2
2.1.0
Поддерживаемые дистрибутивы Linux
Название
Поддерживаемые версии
Debian
10, 11, 12
Ubuntu
20, 22, 24
AlmaLinux
8, 9
RedOS
7, 8, 8 Сертифицированный
RHEL
8, 9
ALT Server
10.4 (Mendelevium)
ALSE
1.8 Орел/Воронеж, Сертифицированный
Alt Linux SP
Сертифицированный
Версии Ansible ролей из поставки
Роль
Версия
certificates
1.0.0
keycloak
8.0.0
java
2.1.2
kafka
2.1.0
kafka-ui
1.0.0
nginx (legacy)
1.3.0
zakroma-storage
10.0.3
zakroma-zds
5.3.8
zakroma-zds-v2
6.1.0
Используемые Ansible collections
Collection
Версия
community.general
9.4.0
ansible.posix
1.6.0
community.crypto
2.22.0
middleware_automation.keycloak
2.4.1
Структура дистрибутива
Дистрибутив поставляется архивом вида zakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>.tar.gz
ansible.cfg
Файл конфигурации Ansible, в котором задаются параметры работы (например, пути к инвентарям, настройки подключения,
параметры логирования и т.д.).
CHANGELOG.md
Журнал изменений проекта. Здесь фиксируются версии, внесённые правки, улучшения и исправления ошибок.
collections/
Каталог, содержащий Ansible collections – наборы ролей, плагинов и модулей, объединённых в пакеты для удобного
повторного использования и распространения.
files/dashboards/
Каталог с дашбордами Grafana, входящими в поставку.
files/keycloak/realm.json
JSON-файл, содержащий сконфигурированный realm для Keycloak.
files/zakroma-licence/licence
Файл лицензии Zakroma, который может быть скопирован на целевые хосты отдельным playbook.
files/zcli/
Каталог с утилитой zcli, входящей в состав поставки.
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.
zakroma-zds-v2-ec.yml – переменные для установки и конфигурирования Zakroma-ZDSv2 (решение по умолчанию).
hosts – определение хостов для базового кластера.
multicluster/
Инвентарь для мультикластерного развёртывания:
cluster-1/ и cluster-2/
Для каждого кластера:
group_vars/ – аналогичные файлы с переменными (такие же файлы, как в base-cluster).
hosts – определение хостов для конкретного кластера.
single-node/
Инвентарь для развёртывания на одном узле:
group_vars/ – файлы с переменными для одиночного узла. Отличительной особенностью является наличие файла *
zakroma-zds-fs.yml* (нижний слой хранения без Erasure Coding).
hosts – файл с описанием единственного узла.
playbooks/
Каталог с плейбуками, необходимыми для применения ролей или выполнения конкретных задач:
sample-play-copy-certificates.yml – playbook для копирования сертификатов.
sample-play-copy-licence-file.yml – playbook для копирования файла лицензии на целевые хосты.
sample-play-delete-old-version.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).
sample-play-zakroma-zds-v2-ec.yml – playbook для установки и конфигурирования Zakroma-ZDSv2 в режиме EC
(решение по умолчанию).
README.md
Основной файл с описанием проекта, содержащий обзор, инструкции по установке, использованию и общую информацию о
проекте.