Установка Single Node

Устанавливаемые компоненты

КомпонентОписание
Zakroma-StorageУправляющий слой, обеспечивающий S3-протокол.
Zakroma-ZDSНижний слой хранения (минимальное требование — 3 узла в режиме Erasure Coding, 1 узел - в режиме без избыточного кодирования).
PostgreSQLСУБД для метаданных Zakroma-Storage
Kafka (опционально)Система обмена сообщениями, используемая сервисами Zakroma (требуется для различных служебных операций, опционально).
СерверКомпоненты
plank.zakroma.internalZakroma-Storage, Zakroma-ZDS,Keycloak,PostgreSQL,Kafka

Установка

1. Получить и распаковать архив

1tar -xvzf zakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>.tar.gz

1.1. Перейти в директорию с ролями

1cd zakroma-roles-<ВЕРСИЯ_РЕЛИЗА_АРХИВА_С_ANSIBLE_РОЛЯМИ>

2. Создать inventory, включающий хостнейм в соответствующих хост-группах, как пример можно использовать файл inventories/single-node/hosts

1[certificates] 2plank ansible_host=10.40.0.10 3 4 5[zakroma-storage] 6plank ansible_host=10.40.0.10 7 8[zakroma-zds-fs] 9plank ansible_host=10.40.0.10 zakroma_zds_node_name=plank

Для проверки текущего ansible_hostname на узлах выполните:

1ansible -m setup -i inventories/single-node/hosts all | grep ansible_hostname

3. Копирование сертификатов на целевые хосты с помощью роли certificates

  • Необходимо отредактировать файл переменных inventories/single-node/group_vars/certificates.yml роли certificates для группы хостов certificates
1--- 2# Задаёт путь к каталогу, откуда копируются сертификаты и ключи. 3certificates_copy_source_path: "files" 4 5# Содержит информацию о каждом хосте, на который нужно скопировать сертификаты и ключи. 6# Ключ словаря — это имя хоста из вашего inventory, а значение — ещё один словарь, который включает в себя список сертификатов для копирования. 7# Внутри host_cert_config для каждого хоста объявляется массив certs, в котором можно описать разные сертификаты и ключи (если нужно скопировать несколько файлов) 8host_cert_config: 9 # Имя хоста из inventory файла 10 plank: 11 certs: 12 # Каталог, из которого копируются файлы сертификата и ключа. Обычно совпадает со значением переменной certificates_copy_source_path, но может быть переопределён для отдельных хостов. 13 14 - src_dir: "{{ certificates_copy_source_path }}" 15 dest_dir: "/opt/certs/" 16 cert_file: "zakroma.crt" 17 key_file: "zakroma.key" 18 owner: "root" 19 group: "root" 20 cert_permissions: "0644" 21 key_permissions: "0600"
  • Запустить playbook:
1ansible-playbook -i inventories/single-node/hosts playbooks/sample-play-copy-certificates.yml

4. Установка Zakroma Storage

  • Подготовить файл с лицензией licence, положить его в директорию ./files/zakroma-licence и запустить playbook playbooks/sample-play-copy-licence-file.yml для группы хостов zakroma-storage

  • Далее необходимо отредактировать файл переменных inventories/single-node/group_vars/zakroma-storage.yml роли zakroma-storage для группы хостов zakroma-storage

1--- 2# ---------------------------------------------------ОБЩИЕ НАСТРОЙКИ--------------------------------------------------- 3# Выполнить удаление Zakroma и ничего больше 4zakroma_storage_delete_only: false
Развернутьarrow
  • Запустить playbook:
1ansible-playbook -i inventories/single-node/hosts playbooks/sample-play-zakroma-storage.yml

5. Опциональная настройка Nginx

Nginx не является обязательным компонентом установки. Для legacy-инсталляций используйте отдельную инструкцию: Настройка Nginx.

6. Установка Zakroma ZDS в режиме FS (без избыточного кодирования, только для одного хоста) (нижний слой хранения)

  • Необходимо отредактировать файл переменных inventories/single-node/group_vars/zakroma-zds-fs.yml роли zakroma-zds для группы хостов zakroma-zds-fs
1# Выполнить удаление старых пакетов ничего больше 2zakroma_zds_delete_packages_only: false 3 4# Выполнить только рестарт сервисов и ничего больше 5zakroma_zds_restart_services_only: false
Развернутьarrow
  • Запустить playbook:
1ansible-playbook -i inventories/single-node/hosts playbooks/sample-play-zakroma-zds-fs.yml