Состав поставки для установки через 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 роли.