Подготовка окружения к установке
Дистрибутив поставляется архивом вида zakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>.tar.gz
Структура дистрибутива
1. 2├── ansible.cfg 3├── collections 4├── docs 5│ ├── README.base-cluster.md
Подготовка окружения к установке
1. Отключение SELinux
Убедитесь, что SELinux отключён.
2. Проверка и настройка DNS
- Убедитесь, что все серверы могут правильно разрешать доменные имена (через DNS или
/etc/hosts
). - Создайте соответствующие 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
- Проверьте, что доступно SSH-подключение к каждому хосту.
- Убедитесь, что пользователь имеет привилегированный (sudo) доступ.
- Установите или обновите Ansible до версии 2.15.0 или выше.
5. Настройка PostgreSQL
Настройте PostgreSQL согласно официальной инструкции.
6. Настройка Keycloak
Если планируете разворачивать Keycloak с помощью Ansible-роли, необходимо:
- Установить на целевом хосте Java 17+.
- Убедиться, что DNS-запись (keycloak.
<FQDN>
) корректно указывает на этот хост.
7. Подготовка дисков и точек монтирования для Zakroma-ZDS
- Подготовьте дисковое пространство (например, используйте LVM или отдельные разделы).
- Смонтируйте разделы на серверах, где будет использоваться Zakroma-ZDS.
- Добавьте точки монтирования в
/etc/fstab
, используя UUID. - Рекомендуемые параметры:
- Файловая система: XFS (рекомендована) или EXT4.
- Использование групп томов (Volume Groups) для большей гибкости управления.
8. Настройка Kafka (опционально)
Требования к топикам Zakroma Kafka для базового кластера
Название топика | Количество партиций (min) | Consumer Group | Кем используется |
---|---|---|---|
ZakromaNotification | 8 | Zakroma | Компонент Notfication |
ZakromaNotificationDeadLetterQueue | 8 | Zakroma | Компонент Notfication |
ZakromaSecLog | 8 | Zakroma | Компонент Seclog |
ZakromaSecLogDeadLetterQueue | 8 | Zakroma | Компонент Seclog |
ZakromaBackgroundCore | 8 | Zakroma | Компонент Core |
ZakromaWorker0 | 8 | Zakroma | Компонент Worker |
ZakromaWorker1 | 8 | Zakroma | Компонент Worker |
Требования к топикам Zakroma Kafka для Мультикластера
Первый кластер
Название топика | Количество партиций (min) | Consumer Group | Кто пишет | Кто читает |
---|---|---|---|---|
ZakromaNotification | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaNotificationDeadLetterQueue | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaSecLog | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaSecLogDeadLetterQueue | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaBackgroundCore | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaWorker0 | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaWorker1 | 8 | Zakroma | Первый кластер | Первый кластер |
ZakromaStorageCluster-1 | 16 | ZakromaCluster-2 | Первый кластер | Второй кластер |
ZakromaGatewayCluster-1 | 16 | ZakromaCluster-2 | Первый кластер | Второй кластер |
ZakromaStorageDeadLetterQueueCluster-1 | 16 | ZakromaCluster-2 | Первый кластер | Второй кластер |
Второй кластер
Название топика | Количество партиций (min) | Consumer Group | Кто пишет | Кто читает |
---|---|---|---|---|
ZakromaNotification | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaNotificationDeadLetterQueue | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaSecLog | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaSecLogDeadLetterQueue | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaBackgroundCore | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaWorker0 | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaWorker1 | 8 | Zakroma | Второй кластер | Второй кластер |
ZakromaStorageCluster-2 | 16 | ZakromaCluster-1 | Второй кластер | Первый кластер |
ZakromaGatewayCluster-2 | 16 | ZakromaCluster-1 | Второй кластер | Первый кластер |
ZakromaStorageDeadLetterQueueCluster-2 | 16 | ZakromaCluster-1 | Второй кластер | Первый кластер |
Основные параметры Kafka топиков Zakroma
Параметр | Значение | Описание |
---|---|---|
partitions | 8 / 16 (min) | Параллелизм обработки. Чем больше партиций, тем выше нагрузка на Kafka и больше перерабатывающая способность. |
replication-factor | 2 (min) | Минимум два брокера осуществляют репликацию топиков для обеспечения отказоустойчивости. |
retention.ms | 604800000 (7 дней) (min) | Время хранения сообщений в топике. |
cleanup.policy | delete | Политика очистки сообщений из топика |
min.insync.replicas | 2 (min) | Гарантия синхронной записи на указанный минимум реплик. |
После выполнения всех перечисленных шагов ваше окружение будет готово к установке Zakroma и сопутствующих сервисов. Дальнейшие инструкции по установке Single Node инсталяции, Базового кластера и Мультикластера вы найдёте в соответствующих README, которые входят в состав дистрибутива Zakroma.