Обновление Платформы
В этом разделе описаны шаги по обновлению Платформы.
Все данные, экземпляры, файл лицензии и прочие данные будут сохранены.
Важно
Перед началом процедуры обновления необходимо выполнить резервное копирование директорий.
Исходное состояние перед обновлением
Имеется установленная версия Платформы.
Установлена лицензия.
Агенты работают корректно.
Для определения установленной версии Платформы выполните следующие действия:
для версий 1.12.0 и старше введите в адресной строке браузера следующий URL (вы должны быть авторизованы):
<YOUR_DOMAIN>/version.
Пример вывода версии Платформы:
для версий 1.13.0 и младше в окне авторизации можно увидеть номер версии под кнопкой Login (цифра 1 на рисунке):
Процедура обновления
Шаг 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
Отобразится структура шаблона:
Убедитесь, что содержимое директории /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
В случае обновления Платформы в закрытом информационном контуре, выполните следующие действия:
Загрузите дистрибутив Платформы на устройстве, имеющем доступ в интернет, используя учетные данные для подключения к репозиторию Разработчика.
Замените токены <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
Cохраните дистрибутив Платформы на сервере, где будет развернуто Платформа, в новую директорию /tmp/tantor и перейдите в эту директорию:
mkdir /tmp/tantor cd /tmp/tantor
Распакуйте установочный пакет ПО:
tar xvf tantor-eco-2.0.3.tar.gz
Перейдите в директорию images:
cd images
Загрузите образы командой:
ls -1 *.tar | xargs --no-run-if-empty -L 1 docker load -i
Вернитесь в рабочую директорию платформы для продолжения установки:
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 на рисунке):
Данные для входа в Платформу (логин и пароль) не изменились.
Все экземпляры сохранены.
Лицензия осталась без изменений.
О преимуществах новой версии можно узнать здесь.
Важно
Если в процессе обновления произошла ошибка, следует сообщить об инциденте в Службу поддержки по адресу support@tantorlabs.ru или контактному лицу Разработчика.
Возврат к предыдущей версии
Перейдите в директорию /opt/tantor/eco:
cd /opt/tantor/eco
Остановите контейнеры:
docker-compose down
Удалите новые версии файлов и папок:
rm docker-compose.yml
rm nats-data -r
rm nginx -r
rm postgresql -r
rm tns_postgresql -r
Переименуйте старые версии:
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/
Запустите контейнеры:
docker-compose up -d
Откройте веб-интерфейс Платформы и убедитесь в следующем:
Под кнопкой Login отогбражается номер предыдущей версии Платформы (см. пункт Исходное состояние перед обновлением).
Данные для входа в Платформу (логин и пароль) не изменились.
Примечание
Для версий 1.12.0 и старше - введите в адресной строке браузера следующий URL (вы должны быть авторизованы):
<YOUR_DOMAIN>/version.
Все экземпляры сохранены.
Лицензия осталась без изменений.