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

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) 2ИЛИ 3global.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён, если нет возможности делать A-Записи с wildcard) 4zakroma-admin.zakroma.internal → хост(ы) с Zakroma-Storage 5keycloak.zakroma.internal → хост(ы) с Keycloak (опционально) 6kafka.zakroma.internal → хост(ы) с Kafka (опционально) 7kafka-ui.zakroma.internal → хост(ы) с Kafka-UI (опционально)

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

1*.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage (рабочие области S3 API) 2ИЛИ 3global.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён, если нет возможности делать A-Записи с wildcard) 4zakroma-admin.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage 5zakroma-cdn.cluster-1.zakroma.internal → хост(ы) с Zakroma-Storage 6keycloak.cluster-1.zakroma.internal → хост(ы) с Keycloak (опционально) 7kafka-1.cluster-1.zakroma.internal → хост(ы) с Kafka 8kafka-ui.cluster-1.zakroma.internal → хост(ы) с Kafka-UI (опционально) 9 10*.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage (рабочие области S3 API) 11ИЛИ 12global.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage (глобальное пространство имён, если нет возможности делать A-Записи с wildcard) 13zakroma-admin.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage 14zakroma-cdn.cluster-2.zakroma.internal → хост(ы) с Zakroma-Storage 15keycloak.cluster-2.zakroma.internal → хост(ы) с Keycloak (опционально) 16kafka-1.cluster-2.zakroma.internal → хост(ы) с Kafka 17kafka-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 2ИЛИ 3global.zakroma.internal (если нет возможности cделать сертификат с wildcard) 4zakroma-admin.zakroma.internal 5keycloak.zakroma.internal (опционально) 6kafka-ui.zakroma.internal (опционально)

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

1*.cluster-1.zakroma.internal 2ИЛИ 3global.cluster-1.zakroma.internal (если нет возможности cделать сертификат с wildcard) 4zakroma-admin.cluster-1.zakroma.internal 5zakroma-cdn.cluster-1.zakroma.internal 6keycloak.cluster-1.zakroma.internal (опционально) 7kafka-ui.cluster-1.zakroma.internal (опционально) 8 9*.cluster-2.zakroma.internal 10ИЛИ 11global.cluster-2.zakroma.internal (если нет возможности cделать сертификат с wildcard) 12zakroma-admin.cluster-2.zakroma.internal 13zakroma-cdn.cluster-2.zakroma.internal 14keycloak.cluster-2.zakroma.internal (опционально) 15kafka-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.1.0 2ANSIBLE_CONFIG=ansible.cfg ansible-playbook -i inventories/base-cluster/hosts playbooks/sample-play-zakroma-storage.yml

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

1cd zakroma-roles-7.1.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.