3.2. Обновление версии платформы

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

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

Важно

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

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

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

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

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

  4. Для определения установленной версии платформы:

  • для версий 1.12.0 и старше - введите в адресной строке браузера следующий URL (вы должны быть авторизованы):

<YOUR_DOMAIN>/version.

Пример вывода версии платформы:

_images/update_installation_1.jpg
  • для версий 1.13.0 и младше - в окне авторизации можно увидеть номер версии под кнопкой Login (цифра 1 на рисунке):

_images/update_installation_1_2_tts110.jpg

3.2.2. Порядок обновления:

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

cd /opt/tantor/eco
docker-compose down

Шаг 2. Создаем резервную копию следующих директорий и файла:

  • 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 для новой версии из репозитория:

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

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

tree -L 2

Важно

В случае появления ошибки:

tree: command not found

необходимо установить приложение:

sudo apt install tree

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

_images/update_installation_2.jpg

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

Шаг 4. Выполните следующую команду для замены параметров в файле docker-compose.yml. Перед её выполнением убедитесь, что старый файл docker-compose.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

Шаг 5. Авторизуемся в репозитории и подтягиваем новые образы, описанные в новом docker-compose.yml:

docker -v login nexus.tantorlabs.ru
docker-compose pull

Шаг 6. Запускаем платформу из директории /opt/tantor/eco следующей командой:

docker-compose up -d

Шаг 7. Заходим в UI платформы, убеждаемся, что:

  • изменилась версия - также в окне авторизации под кнопкой Login (цифра 1 на рисунке):

_images/update_installation_1_3_tts110.jpg
  • можем войти с тем же логином и паролем;

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

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

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

Шаг 8. Если обновление не произошло, то следует сообщить об инциденте на 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 платформы и убедитесь, что:

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

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

    • для версий 1.12.0 и старше - введите в адресной строке браузера следующий URL (вы должны быть авторизованы):

    <YOUR_DOMAIN>/version.
    
    • для версий 1.13.0 и младше - в окне авторизации можно увидеть номер версии под кнопкой Login;

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

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

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