3.2. Обновление до версии 1.12

Далее описаны шаги по обновлению платформы с версии 1.11.3 до 1.12.0.

Все данные, инстансы, лицензия и прочие данные будут сохранены.

Важно

Необходимо сделать резервное копирование директорий.

3.2.1. Исходное состояние перед обновлением:

  1. Установлена версия платформы 1.11.3;

  2. Установлена лицензия;

  3. Агенты работают корректно;

  4. Чтобы убедиться, что у вас действительноу установлена версия платформы 1.11.3, введите в адресной строке браузера следующий URL (вы должны быть авторизованы):

<YOUR_DOMAIN>/version.

Вы должны увидеть следующий вывод:

_images/update_installation_1.jpg

3.2.2. Шаги для обновления:

  1. Переходим в рабочую директорию и останавливаем контейнеры:

cd /opt/tantor/eco
docker-compose down
  1. Создаем резервную копию следующих директорий и файла:

  • postgresql/

  • nats-data/

  • nginx/

  • docker-compose.yml

следующими командами:

cp -R postgresql/ postgresql.bak/
cp -R nats-data/ nats-data.bak/
cp -R nginx/ nginx.bak/
mv docker-compose.yml docker-compose.yml.old

3. Скачиваем шаблон нового docker-compose.yml для версии 1.12.0 с репозитория:

curl -k https://public.tantorlabs.ru/docker-compose.yml.1.12.0 -o ./docker-compose.yml

Для проверки необходимо выполнить команду:

tree -L 2

Отобразится:

_images/update_installation_2.jpg

Убедитесь, что содержимое директории /opt/tantor/eco выглядит в соответствии с изображением выше.

  1. Выполните следующую команду для замены параметров в файле dockercompose.yml. Перед её выполнением убедитесь, что старый файл dockercompose.yml.old находится в той же директории:

DCF='/opt/tantor/eco/docker-compose.yml'; DCFOLD="${DCF}.old" && \
YD=`grep -m1 'DOMAIN=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_DOMAIN>=${YD}=g" $DCF && \
YSC=`grep -m1 'CERT=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SSL_CERT>=${YSC}=g" $DCF && \
YSCK=`grep -m1 'CERT_KEY=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SSL_CERT_KEY>=${YSCK}=g" $DCF && \
YST=`grep -m1 'SECRET=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_SECRET_TOKEN>=${YST}=g" $DCF && \
YDBP=`grep -m1 'OPSPG_PASSWORD=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_DB_PASSWORD>=${YDBP}=g" $DCF && \
YEH=`grep -m1 'EMAIL_HOST=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_HOST>=${YEH}=" $DCF && \
YEP=`grep -m1 'EMAIL_PORT=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_PORT>=${YEP}=" $DCF && \
YEU=`grep -m1 'EMAIL_USERNAME=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_USERNAME>=${YEU}=" $DCF && \
YEPW=`grep -m1 'EMAIL_PASSWORD=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<YOUR_EMAIL_PASSWORD>=${YEPW}=" $DCF && \
ON=`grep -m1 'OWNER_NAME=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<OWNER_NAME>=${ON}=" $DCF && \
OE=`grep -m1 'OWNER_EMAIL=' $DCFOLD | cut -d'=' -f2`;
sed -i "s=<OWNER_EMAIL>=${OE}=" $DCF && \
for SVAR in DCF DCFOLD YD YSC YST YSCK YDBP YEH YEP YEU YEPW ON OE;
do unset $SVAR; done
  1. Подтягиваем новые образы, описанные в новом docker-compose.yml:

docker-compose pull
  1. Запускаем платформу из директории /opt/tantor/eco следующей командой:

docker-compose up -d
  1. Заходим в UI платформы, убеждаемся, что:

  • можем войти с тем же логином и паролем;

  • в адресной строке команда:

<YOUR_DOMAIN>/version.

выдает:

_images/update_installation_tts40.png
  • все инстансы сохранены;

  • лицензия осталась прежней.

О преимуществе новой версии можно узнать здесь.

  1. Если обновление не произошло, то следует сообщить об инциденте на support@tantorlabs.ru или контактному лицу компании, с которым ранее велось общение.

3.2.3. Возврат к предыдущей версии:

  1. Перейдите в /opt/tantor/eco:

cd /opt/tantor/eco
  1. Остановите контейнеры:

docker-compose down
  1. Удалите новые версии файлов и папок:

rm docker-compose.yml
rm nats-data
rm nginx
rm postgresql
  1. Переименуйте старые версии:

mv docker-compose.yml old docker-compose.yml
mv nats-data.bak/ nats-data/
mv nginx.bak/ nginx/
mv postgresql.bak/ postgresql/
  1. Запустите контейнеры:

docker-compose up -d
  1. Зайдите в UI платформы и убедитесь, что:

  • можно войти с тем же логином и паролем;

  • в адресной строке команда:

<YOUR_DOMAIN>/version.

выдает предыдущую версию (см. пункт Исходное состояние перед обновлением: );

  • все инстансы сохранены;

  • лицензия осталась прежней.