Подготовка к установке Sage
Для начала работы с программным обеспечением:
- Проверьте готовность инфраструктуры. Подробнее о проверке
- Запустите контейнер установщика Sage. Подробнее о запуске
- Настройте контейнер установщика. Подробнее о настройке
Если вы столкнетесь с ошибками при установке или работе Sage, обратитесь к поиску по документации или к специалисту технической поддержки.
Проверка готовности инфраструктуры
Для удобства проверки инфраструктуры рекомендуем воспользоваться утилитой Sage Precheck.
-
Скачайте скрипт
sage.shПеред выполнением команды убедитесь, что у вас есть файл
key.json— это ключ для доступа к репозиторию с инструментом. Поместите файлkey.jsonв ту же директорию, где находится скрипт.Команда выполнит авторизацию в Yandex Cloud и скачает утилиту на контрольный хост. Для её работы необходим доступ по HTTPS до объектного хранилища Yandex Cloud S3 —
https://storage.yandexcloud.net../sage.sh precheck-download -
Создайте конфигурационный файл
config.yamlсо списком хостов. Пример:username: "sage"privateKeyPath: "/private/key/path"privateKeyPassword: "privateKeyPassword" # может быть пустымhosts:- hostname: "host1.example.com"ssh_port: 22 # не является обязательным параметром (по умолчанию 22)roles: ["USER_DATA", "WARM"] # не является обязательным параметром# Доступные роли:# USER_DATA — хост используется для хранения данных, проверяет наличие второго раздела под них# WARM — разрешает возможность использования HDD -
Запустите проверку:
chmod +x sage-precheck./sage-precheck -config config.yaml -output report
После выполнения в указанной директории report будут созданы три файла:
raw_data.json— сырые данные, собранные с хостов.report.json— результаты проверки соответствия требованиям.report.txt— результаты в понятном для человека виде.
Если при проверки вы обнаружили ошибки или несоответствия, исправьте их в соответствии с требованиями к установке Sage. После внесения изменений повторно запустите проверку для подтверждения соответствия всех параметров.
После успешной проверки инфраструктуры можно приступать к установке Sage.
Процесс запуска контейнера установщика
Установщик Sage поставляется в виде Docker-контейнера sage-trukk.
Для запуска контейнера установщика на контрольном хосте Sage:
- Авторизуйтесь в репозитории. Подробнее об авторизации
- Подготовьте окружение к развертыванию. Подробнее о подготовке
- Запустите контейнер установщика. Подробнее о запуске
Авторизация в репозитории
Docker образы компонентов системы, в том числе образ контейнера установщика распространяюся через Yandex Cloud Container Registry – cr.yandex/crp9e7v1gtl8rlvmji4q/. Перед авторизацией и началом установки убедитесь, что Контрольный хост имеет к нему сетевой доступ.
Команды выполняются на контрольном хосте.
Перед выполнением команд убедитесь, что вы получили от вашего менеджера файл key.json — это ключ для доступа к репозиторию с образом установщика.
- Поместите файл
key.jsonв ту же директорию, где находится скриптsage.sh. - Запустите скрипт авторизации:
./sage.sh login
Этот скрипт выполнит вход в репозиторий контейнеров с использованием предоставленного ключа. Успешное выполнение необходимо для последующей загрузки образа установщика.
Подготовка окружения к развертыванию
Перед запуском контейнера установщика измените переменную SAGE_VERSION:
export SAGE_VERSION=<версия SAGE> #пример: v1.9.9
mkdir -p certificates license step .ara spirit/kratos
chmod -R 0777 certificates license step .ara spirit
sudo docker run --name sage-trukk-${SAGE_VERSION}-template --pull always cr.yandex/crp9e7v1gtl8rlvmji4q/sage-trukk-example:release-${SAGE_VERSION} bash
sudo docker cp sage-trukk-${SAGE_VERSION}-template:/home/trukker/ansible/clans ./
sudo docker rm -f sage-trukk-${SAGE_VERSION}-template
sudo chown -R 1010:1010 certificates step clans .ara spirit
Запуск контейнера установщика
-
Поместите файл лицензии, полученный ранее от инженера поддержки, в каталог
license. Важно: не переименовывайте переданный файл лицензии. В случае, если файл был переименован, убедитесь, что он имеет имяsage_license.json. После этого измените владельца каталогаlicense:sudo chown -R 1010:1010 license -
Скопируйте SSH-ключ в директорию контейнера установщика:
mkdir sage-sshcp ~/.ssh/<имя файла с приватным ключом> sage-sshsudo chown -R 1010:1010 sage-ssh -
Измените переменные
ANSIBLE_REMOTE_USERиANSIBLE_PRIVATE_KEY_FILEи запустите контейнер со следующими аргументами:sudo docker run -it --name sage-trukk-${SAGE_VERSION} --pull always --network host \-v "${PWD}/certificates:/home/trukker/ansible/files/certificates:rw" \-v "${PWD}/step:/home/trukker/ansible/files/step:rw" \-v "${PWD}/clans:/home/trukker/ansible/clans:rw" \-v "${PWD}/.ara:/home/trukker/.ara:rw" \-v "${PWD}/sage-ssh:/home/trukker/.ssh:rw" \-v "${PWD}/license:/home/trukker/ansible/files/licenses:rw" \-v "${PWD}/key.json:/home/trukker/ansible/files/key.json:rw" \-v "${PWD}/spirit/kratos:/home/trukker/ansible/files/spirit/kratos:rw" \-e 'ANSIBLE_REMOTE_USER=<SSH логин для всех хостов>' \-e 'ANSIBLE_PRIVATE_KEY_FILE=/home/trukker/.ssh/<имя файла с приватным ключом>' \cr.yandex/crp9e7v1gtl8rlvmji4q/sage-trukk-example:release-${SAGE_VERSION} bash -
При запуске контейнер запросит пароль для Ansible Vault — пароль нужно сгенерировать самостоятельно. После введения пароля вы попадёте внутрь контейнера и вас встретит приглашение ко вводу:
trukker@sage-trukk:~ $
Настройка контейнера установщика
Все дальнейшие команды выполняются в запущенном ранее контейнере установщика.
Настройка происходит с помощью редактирования файлов внутри контейнера.
Указание хостов для развертывания программного обеспечения
В этой инструкции по конфигурации Sage используется флейвор 1VM, при котором все сервисы развертываются на одном хосте. Если требуется развернуть Sage на трех хостах, то необходимо использовать конфигурацию 3VM. Если вы разворачиваете Sage в конфигурации, требующей использования более трех хостов, обратитесь за помощью к менеджеру Т-Банка.
В файле clans/example/prod/1vm/hosts.yml (или clans/example/prod/3vm/hosts.yml для 3VM конфигурации) замените fqdn.host.example на FQDN хоста, который будет использоваться для установки сервисов.
Конфигурация установки
Ознакомьтесь с разделом документации «Конфигурация установки Sage». В нём описаны все параметры, которые можно настроить при установке программного обеспечения Sage.
Убедитесь, что вы задали значения для всех обязательных параметров. При необходимости укажите дополнительные (опциональные) параметры, чтобы настроить систему в соответствии с требованиями вашего окружения.
Установка секретов
В файле clans/example/prod/1vm/group_vars/sage/_secrets.yml (или clans/example/prod/3vm/group_vars/sage/secrets.yml для 3VM конфигурации) измените значение changeme на необходимые секреты. Вы можете использовать Ansible Vault для шифрования секретов.
ansible-vault encrypt_string 'foobar'