Запуск установщика
Установщик Sage поставляется в виде Docker-контейнера sage-trukk. В этом разделе описан процесс его запуска на контрольном хосте.
Авторизация в репозитории
Важно: Все команды этого раздела выполняются на контрольном хосте.
Предварительные требования
Перед выполнением команд убедитесь, что вы получили от вашего менеджера:
- Файл
key.json— ключ для доступа к репозиторию с образом установщика - Скрипт
auth.sh— скрипт авторизации в репозитории
Шаги авторизации
-
Поместите файл
key.jsonв ту же директорию, где находится скриптauth.sh -
Запустите скрипт авторизации:
bash auth.shЭтот скрипт выполнит вход в репозиторий контейнеров с использованием предоставленного ключа. Успешное выполнение необходимо для последующей загрузки образа установщика.
Подготовка окружения к развертыванию
1. Установка переменной версии Sage
Запросите актуальную версию Sage у инженера поддержки, перед установкой
export SAGE_VERSION=<версия SAGE>
# Пример: export SAGE_VERSION=v1.9.9
2. Создание необходимых директорий
mkdir -p certificates license step .ara spirit/kratos
chmod -R 0777 certificates license step .ara spirit
3. Копирование шаблона конфигурации из контейнера
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
Запуск контейнера установщика
1. Подготовка файла лицензии
Поместите файл лицензии, полученный от инженера поддержки, в каталог license.
Важно: Не переименовывайте переданный файл лицензии. Если файл был переименован, убедитесь, что он имеет имя
sage_license.json.
Измените владельца каталога license:
sudo chown -R 1010:1010 license
2. Копирование SSH-ключа
mkdir sage-ssh
cp ~/.ssh/<имя файла с приватным ключом> sage-ssh
sudo chown -R 1010:1010 sage-ssh
3. Запуск контейнера
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
4. Ввод пароля Ansible Vault
При запуске контейнер запросит пароль для Ansible Vault — пароль нужно сгенерировать самостоятельно.
После введения пароля вы попадёте внутрь контейнера, и вас встретит приглашение:
trukker@sage-trukk:~ $
Рекомендация: Сохраните пароль Ansible Vault в надежном месте. Он потребуется для последующей работы с шифрованными секретами.