Подготовка окружения к установке
1. Отключение SELinux
Убедитесь, что SELinux отключён или переведен в режим Permissive.
2. Проверка и настройка DNS
Создайте DNS A-записи для доменов, которые будут использоваться Закрома.Диск и внешними зависимостями.
Для одноузловой конфигурации и базового кластера:
1disk.zakroma.internal -> хост(ы) с Закрома.Диск и Nginx 2webdav.zakroma.internal -> хост(ы) с Закрома.Диск и Nginx 3keycloak.zakroma.internal -> хост(ы) с Keycloak 4postgres.zakroma.internal -> хост(ы) с PostgreSQL
В инструкции используется пример домена zakroma.internal. Замените его на доменную зону вашей инфраструктуры.
3. Подготовка сертификатов
Подготовьте TLS-сертификаты и ключи для доменов:
1disk.zakroma.internal 2webdav.zakroma.internal 3keycloak.zakroma.internal
В поставке сертификаты копируются Ansible-ролью certificates, а примеры переменных находятся в inventories/<inventory>/group_vars/certificates.yml.
Роль не выполняет генерацию самоподписных сертификатов, а только их распространение. Для промышленных сред используйте корпоративный центр сертификации.
4. Подготовка PostgreSQL
Создайте базу данных и схему для Закрома.Диск, а также базу и схему для Keycloak согласно инструкции по настройке PostgreSQL.
5. Подготовка Keycloak
Установите и настройте Keycloak согласно инструкции по настройке Keycloak или используйте существующий Keycloak в вашей инфраструктуре.
После подготовки Keycloak получите значения для переменных Закрома.Диск:
zakroma_disk_dsdrive.auth.keycloak.urlzakroma_disk_dsdrive.auth.keycloak.realmzakroma_disk_dsdrive.auth.keycloak.clientIdzakroma_disk_dsdrive.auth.keycloak.secretzakroma_disk_dsdrive.jwt.kidzakroma_disk_dsdrive.jwt.rsa_public_keyzakroma_disk_auth.access_key_idzakroma_disk_auth.access_keyzakroma_disk_dsdrive.auth.direct_grant.auth_keyzakroma_disk_webdav.dsdrive.auth_key
6. Подготовка Закрома.Хранение
Для полноценной работы Закрома.Диск необходима установленная и настроенная конфигурация Закрома.Хранение.
Без Закрома.Хранения не будут работать некоторые функции автоматизации создания бакетов для проектов, а также будет отсутствовать возможность ограничения квот по проектам.
Подготовьте рабочую область, ключ доступа и политику в Закрома.Хранение по инструкции Подготовка хранилища.
Полученные значения укажите в секции zakroma_disk_dsdrive.storage файла inventories/<inventory>/group_vars/zakroma-disk.yml.
7. Подготовка для работы с Ansible
- Проверьте SSH-доступ к каждому хосту.
- Убедитесь, что пользователь имеет привилегированный доступ через
sudo. - Установите или обновите Ansible. Рекомендуется использовать версию, совместимую с коллекциями из поставки.
- Если подключение выполняется по логину и паролю, установите пакет
sshpass. - Запускайте
ansible-playbookиз корневой директории распакованного архива, где находятсяansible.cfg,inventories/,playbooks/,roles/иcollections/.
Пример:
1cd zakroma-roles-2.0.1 2ANSIBLE_CONFIG=ansible.cfg ansible-playbook -i inventories/base-cluster/hosts playbooks/sample-play-zakroma-disk.yml
8. Пакет Nginx
На узлах группы zakroma-disk-nginx должен быть доступен пакет nginx из репозиториев операционной системы или корпоративного зеркала.