Обновление Платформы

В этом разделе описаны шаги по обновлению Платформы.

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

Важно

Перед началом процедуры обновления необходимо выполнить резервное копирование директорий.

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

  • Имеется установленная версия Платформы.

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

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

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

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

<YOUR_DOMAIN>/version.

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

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

_images/update_installation_1_2_tts110.jpg

Процедура обновления

Шаг 1. Перейдите в рабочую директорию:

cd /opt/tantor/eco

Шаг 2. Остановите контейнеры:

docker-compose down

Шаг 3. Создайте резервную копию директорий и файла docker-compose.yml:

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

Шаг 4. Скачайте шаблон нового файла docker-compose.yml для новой версии из репозитория:

curl -k https://public.tantorlabs.ru/docker-compose.yml.2.0.3  -o /opt/tantor/eco/docker-compose.yml

Шаг 5. Выполните следующую команду для проверки шаблона:

tree -L 2

Важно

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

tree: command not found

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

sudo apt install tree

Отобразится структура шаблона:

_images/update_installation_2.jpg

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

Шаг 6. Выполните следующие команды для замены параметров в файле docker-compose.yml. Перед выполнением убедитесь, что старый файл docker-compose.yml.old находится в той же директории:

export DCF='/opt/tantor/eco/docker-compose.yml';
export DCFOLD="${DCF}.old";
YD=`grep -m 1 'DOMAIN=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<YOUR_DOMAIN>=${YD}=g" $DCF;
YSC=`grep -m 1 'CERT=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<YOUR_SSL_CERT>=${YSC}=g" $DCF;
YSCK=`grep -m 1 'CERT_KEY=' $DCFOLD | cut -d'=' -f2` &&  sed -i "s=<YOUR_SSL_CERT_KEY>=${YSCK}=g" $DCF;
YST=`grep -m 1 'SECRET=' $DCFOLD | cut -d'=' -f2`&& sed -i "s=<YOUR_SECRET_TOKEN>=${YST}=g" $DCF;
YDBP=`grep -m 1 'OPSPG_PASSWORD=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<YOUR_DB_PASSWORD>=${YDBP}=g" $DCF;
YEH=`grep -m 1 'EMAIL_HOST=' $DCFOLD | cut -d'=' -f2` &&  sed -i "s=<YOUR_EMAIL_HOST>=${YEH}=" $DCF;
YEP=`grep -m 1 'EMAIL_PORT=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<YOUR_EMAIL_PORT>=${YEP}=" $DCF;
YEU=`grep -m 1 'EMAIL_USERNAME=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<YOUR_EMAIL_USERNAME>=${YEU}=" $DCF;
YEPW=`grep -m 1 'EMAIL_PASSWORD=' $DCFOLD | cut -d'=' -f2` &&  sed -i "s=<YOUR_EMAIL_PASSWORD>=${YEPW}=" $DCF;
ON=`grep -m 1 'OWNER_NAME=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<OWNER_NAME>=${ON}=" $DCF;
OE=`grep -m 1 'OWNER_EMAIL=' $DCFOLD | cut -d'=' -f2` && sed -i "s=<OWNER_EMAIL>=${OE}=" $DCF;
unset DCF && unset DCFOLD;

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

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

В случае обновления Платформы в закрытом информационном контуре, выполните следующие действия:

  1. Загрузите дистрибутив Платформы на устройстве, имеющем доступ в интернет, используя учетные данные для подключения к репозиторию Разработчика.

  2. Замените токены <USERNAME> и <PASSWORD> на учетные данные, полученные от Разработчика:

wget --user=<USERNAME> --password=<PASSWORD> https://nexus.tantorlabs.ru/repository/tantorlabs-raw/eco-dockers-tars/tantor-eco-2.0.3.tar.gz -O tantor-eco-2.0.3.tar.gz
  1. Cохраните дистрибутив Платформы на сервере, где будет развернуто Платформа, в новую директорию /tmp/tantor и перейдите в эту директорию:

mkdir /tmp/tantor
cd /tmp/tantor
  1. Распакуйте установочный пакет ПО:

tar xvf tantor-eco-2.0.3.tar.gz
  1. Перейдите в директорию images:

cd images
  1. Загрузите образы командой:

ls -1 *.tar | xargs --no-run-if-empty -L 1 docker load -i
  1. Вернитесь в рабочую директорию платформы для продолжения установки:

cd opt/tantor/eco

Шаг 8. (Опционально) Для обеспечения работы модуля Advanced analytics создайте директорию /opt/tantor/eco/ssh:

mkdir ssh/

Шаг 9. (Опционально) В созданной директории /opt/tantor/eco/ssh сохраните ключи ssh с названиями, указанными ниже:

id_rsa
id_rsa.pub

Важно

На сервере, содержащем наблюдаемую базу данных, необходимо добавить содержимое публичного ключа при помощи команды ssh-copy-id username@remote_host». Вместо значения username нужно указать имя пользователя, запускающего процесс работы с базой данных. Вместо значения remote_host следует указать адрес IP или имя DNS сервера базы данных.

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

docker-compose up -d

Шаг 11. Откройте веб-интерфейс Платформы и убедитесь в следующем:

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

_images/update_installation_1_3_tts170.png
  • Данные для входа в Платформу (логин и пароль) не изменились.

  • Все экземпляры сохранены.

  • Лицензия осталась без изменений.

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

Важно

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

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

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

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

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

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

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

docker-compose up -d
  1. Откройте веб-интерфейс Платформы и убедитесь в следующем:

Примечание

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

<YOUR_DOMAIN>/version.
  • Все экземпляры сохранены.

  • Лицензия осталась без изменений.