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

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

Убедитесь, что SELinux отключён, или переведен в режим Permissive

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

  1. Убедитесь, что все серверы могут правильно разрешать доменные имена (через DNS или /etc/hosts).
  2. Создайте соответствующие DNS A-записи, указывающие на IP-адреса хостов, где будут развернуты сервисы.
  3. Для S3 API в версии 2.9 используется единая схема адресации <workspace>.<FQDN>. Глобальное пространство имён доступно по адресу global.<FQDN>.

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

1*.zakroma.internal → хост(ы) с Zakroma-Storage (рабочие области S3 API) 2global.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён) 3zakroma-admin.zakroma.internal → хост(ы) с Zakroma-Storage 4keycloak.zakroma.internal → хост(ы) с Keycloak (опционально) 5kafka.zakroma.internal → хост(ы) с Kafka (опционально) 6kafka-ui.zakroma.internal → хост(ы) с Kafka-UI (опционально)

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

1*.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage (рабочие области S3 API) 2global.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён) 3zakroma-admin.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage 4zakroma-cdn.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage 5keycloak.cluster-1.zakroma.internal → хост(ы) с Keycloak (опционально) 6kafka-1.cluster-1.zakroma.internal → хост(ы) с Kafka 7kafka-ui.cluster-1.zakroma.internal → хост(ы) с Kafka-UI (опционально) 8 9*.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage (рабочие области S3 API) 10global.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён) 11zakroma-admin.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage 12zakroma-cdn.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage 13keycloak.cluster-2.zakroma.internal → хост(ы) с Keycloak (опционально) 14kafka-1.cluster-2.zakroma.internal → хост(ы) с Kafka 15kafka-ui.cluster-2.zakroma.internal → хост(ы) с Kafka-UI (опционально)

Если в инсталляции сохраняется Nginx, используется классическая схема адресации ps/vs: <workspace>.ps.<FQDN> для path-style и <workspace>.vs.<FQDN> для virtual-hosted-style. Такая схема относится к legacy-инсталляциям с Nginx и настраивается отдельно: Настройка Nginx.

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

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

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

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

1*.zakroma.internal 2global.zakroma.internal 3zakroma-admin.zakroma.internal 4keycloak.zakroma.internal (опционально) 5kafka-ui.zakroma.internal (опционально)

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

1*.cluster-1.zakroma.internal 2global.cluster-1.zakroma.internal 3zakroma-admin.cluster-1.zakroma.internal 4zakroma-cdn.cluster-1.zakroma.internal 5keycloak.cluster-1.zakroma.internal (опционально) 6kafka-ui.cluster-1.zakroma.internal (опционально) 7 8*.cluster-2.zakroma.internal 9global.cluster-2.zakroma.internal 10zakroma-admin.cluster-2.zakroma.internal 11zakroma-cdn.cluster-2.zakroma.internal 12keycloak.cluster-2.zakroma.internal (опционально) 13kafka-ui.cluster-2.zakroma.internal (опционально)

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

Если используется Nginx с классической схемой ps/vs, подготовьте сертификаты также для доменов *.ps.<FQDN> или *.vs.<FQDN>. Подробнее см. Настройка Nginx.

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

  1. Проверьте, что доступно SSH-подключение к каждому хосту.
  2. Убедитесь, что пользователь имеет привилегированный (sudo) доступ.
  3. Установите или обновите Ansible. Поддерживаются версии от 2.15.0 до 2.18.15. С иными версиями могут встречаться ошибки при запуске плейбука.
  4. Установите пакет sshpass из дистрибутива вашей ОС, если планируется подключение к узлам по логину и паролю.
  5. Рекомендуется запускать ansible-playbook из корневой директории архива с ролями, где находятся ansible.cfg, inventories/, playbooks/, roles/ и collections/. Это позволяет использовать относительные пути из поставки без дополнительных правок.
  6. Рекомендуемый вариант запуска: явно указать конфигурационный файл через переменную окружения ANSIBLE_CONFIG=ansible.cfg, а затем выполнить нужный playbook из каталога playbooks/.

Пример для базового кластера:

1cd zakroma-roles-7.0.0 2ANSIBLE_CONFIG=ansible.cfg ansible-playbook -i inventories/base-cluster/hosts playbooks/sample-play-zakroma-storage.yml

Пример для одноузлового варианта:

1cd zakroma-roles-7.0.0 2ANSIBLE_CONFIG=ansible.cfg ansible-playbook -i inventories/single-node/hosts playbooks/sample-play-zakroma-zds-fs.yml

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

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

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

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

7. Пакет Nginx (опционально)

Nginx не является обязательным компонентом стандартной установки. Проверка пакета Nginx требуется только для legacy-инсталляций, где используется отдельная конфигурация Nginx.

Для такой конфигурации на целевых узлах должен быть доступен для установки из репозиториев пакетного менеджера или уже установлен Nginx версии от 1.14.1 до 1.29.1. С более ранними версиями Nginx возможны проблемы с совместимостью.

Инструкция по настройке: Настройка Nginx.