Инструкция по обновлению
Обновление платформы
Обновление платформы проходит в несколько этапов:
- Перенос настроек в файлы конфигурации новой версии
- Загрузка образов для сервисов
- Снятие дампа базы данных
- Остановка сервисов старой версии
- Запуск сервисов новой версии
Все пути к файлам и папкам указаны относительно директории setup. Все команды выполняются в системной консоли из этой директории.
Скопируйте файл лицензии face_sdk.lic из директории setup в аналогичную директорию нового дистрибутива.
Перенесите секреты из файла ./cfg/platform.secrets.json в аналогичный файл в новом дистрибутиве. Это необходимо, чтобы сохранить их локально и обеспечить возможность их использования при развертывании.
Перенесите конфигурацию сервисов из старого дистрибутива, сравнив содержимое следующих файлов в обеих версиях:
- ./cfg/image-api.values.yaml
- ./cfg/matcher.values.yaml
- ./cfg/platform.values.yaml
- ./cfg/platform-ui.values.yaml
- ./cfg/license-server.settings.cfg
Перенесите только измененные значения переменных. Не меняйте значения переменных в полях
image
, т.к. они содержат информацию об используемых образах для развертывания, и для каждой версии задаются автоматически.Обновите образы, расположенные локально, выполнив команду:
./cli.sh generic load-images
Сделайте бэкап базы данных:
./cli.sh platform db-backup - <postgres_root_user> <dump_path>
В переменную
<root_postgres_user>
запишите значение переменнойpostgres-root-credentials.user
, содержащейся в файле ./cfg/platform.secrets.json.В переменную
<dump_path>
запишите абсолютный путь до файла формата sql, используемого для дампа (можно создать вручную). Также рекомендуем заархивировать директорию /kv.Перед запуском новой версии платформы остановите предыдущую версию, выполнив команды:
./cli.sh image-api uninstall
./cli.sh matcher uninstall
./cli.sh platform uninstall
./cli.sh platform-ui uninstall
Оставшиеся команды выполняйте из директории setup нового дистрибутива.
Пересоздайте секреты:
./cli.sh platform install-secrets
Разверните модули платформы:
./cli.sh image-api install
./cli.sh matcher install
./cli.sh platform install
./cli.sh platform-ui installДля удобного отслеживания процесса развертывания откройте еще одну вкладку терминала и выполните команду:
watch 'kubectl get pods'
Наличие у всех под (pods) статуса Running означает, что платформа запущена.
Удаление предыдущей версии платформы
Перейдите в папку <distribution_folder>/setup развернутой версии платформы и остановите платформу:
./cli.sh platform uninstall
./cli.sh image-api uninstallУбедитесь, что все контейнеры сервисов остановлены:
watch 'kubectl get pods'
Статус сервисов из состояния "Running" должен перейти в состояние "Terminating". В результате, все сервисы должны пропасть из отображаемой таблицы.
Удалите развернутый Kubernetes-кластер:
./cli.sh smc uninstall
Удалите вспомогательные файлы Kubernetes-кластера:
sudo rm -rf ~/.kube/
При удалении платформы вся база данных сохраняется в директории /kv/pgdata. Для дальнейшего использования базы в процессе установки новой версии платформы укажите те же авторизационные данные и имя базы данных. В противном случае, выполните команду:
./cli.sh platform db-reset