Подготовка окружения к установке

Дистрибутив поставляется архивом вида zakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>.tar.gz

Структура дистрибутива

1. 2├── ansible.cfg 3├── collections 4├── docs 5│   ├── README.base-cluster.md
Развернутьarrow

Подготовка окружения к установке

1. Отключение SELinux

Убедитесь, что SELinux отключён.

2. Проверка и настройка DNS

  1. Убедитесь, что все серверы могут правильно разрешать доменные имена (через DNS или /etc/hosts).
  2. Создайте соответствующие DNS A-записи, указывающие на IP-адреса хостов, где будут развернуты сервисы:

Для базового кластера:

1*.ps.zakroma.local → хост(ы) с Zakroma-Storage (для обращения к S3 по path-style) 2zakroma-gateway.zakroma.local → хост(ы) с Zakroma-Storage 3zakroma-admin.zakroma.local → хост(ы) с Zakroma-Storage 4keycloak.zakroma.local → хост(ы) с Keycloak

Для мультикластера:

1*.ps.cluster-1.zakroma.local → хост(ы) с Zakroma-Storage (для обращения к S3 по path-style) 2zakroma-gateway.cluster-1.zakroma.local → хост(ы) с Zakroma-Storage 3zakroma-admin.cluster-1.zakroma.local → хост(ы) с Zakroma-Storage 4zakroma-cdn.cluster-1.zakroma.local → хост(ы) с Zakroma-Storage 5keycloak.cluster-1.zakroma.local → хост(ы) с Keycloak 6 7*.ps.cluster-2.zakroma.local → хост(ы) с Zakroma-Storage (для обращения к S3 по path-style) 8zakroma-gateway.cluster-2.zakroma.local → хост(ы) с Zakroma-Storage 9zakroma-admin.cluster-2.zakroma.local → хост(ы) с Zakroma-Storage 10zakroma-cdn.cluster-2.zakroma.local → хост(ы) с Zakroma-Storage 11keycloak.cluster-2.zakroma.local → хост(ы) с Keycloak

В инструкции используется пример домена zakroma.local.
Вы можете заменить его на собственную доменную зону, соответствующую вашей инфраструктуре (например, zakroma.company.com или zakroma.internal).

3. Подготовка сертификатов (TLS/SSL)

Сгенерируйте и/или получите сертификаты для следующих доменных имен:

Для базового кластера:

1*.ps.zakroma.local 2zakroma-gateway.zakroma.local 3zakroma-admin.zakroma.local 4keycloak.zakroma.local

Для мультикластера:

1*.ps.cluster-1.zakroma.local 2zakroma-gateway.cluster-1.zakroma.local 3zakroma-admin.cluster-1.zakroma.local 4zakroma-cdn.cluster-1.zakroma.local 5keycloak.cluster-1.zakroma.local 6 7*.ps.cluster-2.zakroma.local 8zakroma-gateway.cluster-2.zakroma.local 9zakroma-admin.cluster-2.zakroma.local 10zakroma-cdn.cluster-2.zakroma.local 11keycloak.cluster-2.zakroma.local

Эти сертификаты будут использоваться для безопасного доступа к Zakroma и Keycloak по HTTPS.

4. Подготовка для работы с Ansible

  1. Проверьте, что доступно SSH-подключение к каждому хосту.
  2. Убедитесь, что пользователь имеет привилегированный (sudo) доступ.
  3. Установите или обновите Ansible до версии 2.15.0 или выше.

5. Настройка PostgreSQL

Настройте PostgreSQL согласно официальной инструкции.

6. Настройка Keycloak

Если планируете разворачивать Keycloak с помощью Ansible-роли, необходимо:

  • Установить на целевом хосте Java 17+.
  • Убедиться, что DNS-запись (keycloak.<FQDN>) корректно указывает на этот хост.

7. Подготовка дисков и точек монтирования для Zakroma-ZDS

  1. Подготовьте дисковое пространство (например, используйте LVM или отдельные разделы).
  2. Смонтируйте разделы на серверах, где будет использоваться Zakroma-ZDS.
  3. Добавьте точки монтирования в /etc/fstab, используя UUID.
  4. Рекомендуемые параметры:
    • Файловая система: XFS (рекомендована) или EXT4.
    • Использование групп томов (Volume Groups) для большей гибкости управления.

8. Настройка Kafka (опционально)

Требования к топикам Zakroma Kafka для базового кластера

Название топикаКоличество партиций (min)Consumer GroupКем используется
ZakromaNotification8ZakromaКомпонент Notfication
ZakromaNotificationDeadLetterQueue8ZakromaКомпонент Notfication
ZakromaSecLog8ZakromaКомпонент Seclog
ZakromaSecLogDeadLetterQueue8ZakromaКомпонент Seclog
ZakromaBackgroundCore8ZakromaКомпонент Core
ZakromaWorker08ZakromaКомпонент Worker
ZakromaWorker18ZakromaКомпонент Worker

Требования к топикам Zakroma Kafka для Мультикластера

Первый кластер

Название топикаКоличество партиций (min)Consumer GroupКто пишетКто читает
ZakromaNotification8ZakromaПервый кластерПервый кластер
ZakromaNotificationDeadLetterQueue8ZakromaПервый кластерПервый кластер
ZakromaSecLog8ZakromaПервый кластерПервый кластер
ZakromaSecLogDeadLetterQueue8ZakromaПервый кластерПервый кластер
ZakromaBackgroundCore8ZakromaПервый кластерПервый кластер
ZakromaWorker08ZakromaПервый кластерПервый кластер
ZakromaWorker18ZakromaПервый кластерПервый кластер
ZakromaStorageCluster-116ZakromaCluster-2Первый кластерВторой кластер
ZakromaGatewayCluster-116ZakromaCluster-2Первый кластерВторой кластер
ZakromaStorageDeadLetterQueueCluster-116ZakromaCluster-2Первый кластерВторой кластер

Второй кластер

Название топикаКоличество партиций (min)Consumer GroupКто пишетКто читает
ZakromaNotification8ZakromaВторой кластерВторой кластер
ZakromaNotificationDeadLetterQueue8ZakromaВторой кластерВторой кластер
ZakromaSecLog8ZakromaВторой кластерВторой кластер
ZakromaSecLogDeadLetterQueue8ZakromaВторой кластерВторой кластер
ZakromaBackgroundCore8ZakromaВторой кластерВторой кластер
ZakromaWorker08ZakromaВторой кластерВторой кластер
ZakromaWorker18ZakromaВторой кластерВторой кластер
ZakromaStorageCluster-216ZakromaCluster-1Второй кластерПервый кластер
ZakromaGatewayCluster-216ZakromaCluster-1Второй кластерПервый кластер
ZakromaStorageDeadLetterQueueCluster-216ZakromaCluster-1Второй кластерПервый кластер

Основные параметры Kafka топиков Zakroma

ПараметрЗначениеОписание
partitions8 / 16 (min)Параллелизм обработки. Чем больше партиций, тем выше нагрузка на Kafka и больше перерабатывающая способность.
replication-factor2 (min)Минимум два брокера осуществляют репликацию топиков для обеспечения отказоустойчивости.
retention.ms604800000 (7 дней) (min)Время хранения сообщений в топике.
cleanup.policydeleteПолитика очистки сообщений из топика
min.insync.replicas2 (min)Гарантия синхронной записи на указанный минимум реплик.

После выполнения всех перечисленных шагов ваше окружение будет готово к установке Zakroma и сопутствующих сервисов. Дальнейшие инструкции по установке Single Node инсталяции, Базового кластера и Мультикластера вы найдёте в соответствующих README, которые входят в состав дистрибутива Zakroma.

Смотрите также
Установка через ansible