Описание
Обновление выполняется с версии 1.2.x до версии 1.3.х. Для более ранних версий требуется выполнить обновление до версии 1.2 - v1.2_3.9 Обновление.
Перед обновлением необходимо ознакомиться с описанием изменений v1.3_3.3.1 Изменения версии 1.3, определить какие настройки системы необходимо будет выполнить сразу после обновления и подготовить необходимые данные для их выполнения (сертификаты, локальную УЗ для входа в NAICE).
Скачать архив с плейбуками для актуальной версии на странице v1.3_1.5 Стабильные версии.
В версии 1.3.0 выполнено обновление СУБД PostgreSQL до версии 18. Попытка выполнить обновление путем повторной установки NAICE приведет к его неработоспособности! Обновление необходимо выполнять отдельным плейбуком в соответствие с инструкцией ниже!
Подготовка к обновлению
Перед обновлением необходимо создать резервную копию БД в соответствии с инструкцией: v1.3_3.6.2 Однохостовая/многохостовая установки с Ansible и выгрузить её с сервера для возможности восстановления данных в случае ошибок обновления.
Если какие-либо переменные в groups/all.yml были изменены при установке предыдущих версий - необходимо перенести значения переменных all.yml из старого плейбука в новый перед установкой.
Если в новом плейбуке установки версии 1.3.Х в переменных groups/all.yml отсутствуют ранее использовавшиеся переменные - это значит что она была перенесена в менеджер конфигураций и её указание более не требуется.
Если используется клиент мониторинга Peeper Client
Если в составе NAICE ранее был установлен Peeper-Client (подробнее v1.3_7.3 Мониторинг NAICE с использованием Eltex Peeper), то перед выполнением обновления необходимо вручную остановить Peeper-Client. Для этого необходимо зайти в папку установки клиента <папка установки NAICE>/peeper (по умолчанию /etc/docker-naice/peeper) и остановить его командой:
cd /etc/docker-naice/peeper sudo bash ./setup.sh -u
После выполнения обновления необходимо вручную выполнить его запуск:
sudo bash ./setup.sh -i
Обновление установки с резервированием для онлайн и в закрытом контуре
Для обновления онлайн используются те же хосты, на которых развернут NAICE.
Для обновления в закрытом контуре используются те же хосты, на которых развернут NAICE.
Рекомендуется использовать для запуска плейбуков Ansible тот же хост, что использовался ранее для установки, что бы не выполнять его повторную подготовку.
С использованием VRRP
Обновление осуществляется запуском отдельного плейбука Ansible master-migration-naice-cluster-vrrp-1.2-1.3.yml. По завершении работы плейбука не должно быть ошибок.
ansible-playbook master-migration-naice-cluster-vrrp-1.2-1.3.yml -i inventory/hosts-cluster.yml
При выполнении оффлайн обновления на ОС Astra Linux 1.7.x необходимо выполнять запуск плейбука из под пользователя root, без использования sudo!
Перед запуском плейбука необходимо выполнить:
$sudo su #
Без использования VRRP
Обновление осуществляется запуском отдельного плейбука Ansible master-migration-naice-cluster-geo-1.2-1.3.yml. По завершении работы плейбука не должно быть ошибок.
ansible-playbook master-migration-naice-cluster-geo-1.2-1.3.yml -i inventory/hosts-geo.yml
При выполнении оффлайн обновления на ОС Astra Linux 1.7.x необходимо выполнять запуск плейбука из под пользователя root, без использования sudo!
Перед запуском плейбука необходимо выполнить:
$sudo su #
Проверка состояния сервисов
Проверить успешность запуска контейнеров можно, перейдя в директорию для установки NAICE (по умолчанию - /etc/docker-naice/ ) и выполнив команду для просмотра списка и статуса контейнеров docker compose ps -a. Вывод команды должен быть примерно следующим:
Особенности подготовки хостов с кластером PostgreSQL и нод NAICE перед обновлением с изменением подсетей Docker
Если в ходе обновления планируется изменение подсетей Docker - необходимо перед обновлением остановить на каждой ноде сервисы NAICE и кластер PostgreSQL.
Для этого необходимо перейти в папку установки NAICE (по умолчанию /etc/docker-naice) и выполнить команды:
Остановка сервисов NAICE:
sudo docker compose down
Остановка кластера PostgreSQL:
sudo docker compose -f docker-compose.repmgr.yml down
Убедиться, что не на хосте не осталось подсетей docker, совпадающих с указанными в переменных плейбука (подробнее в разделе v1.3_3.2.6 Смена Docker-сетей) выполнив команду:
docker network ls -q | xargs docker network inspect -f '{{.Name}}|{{range .IPAM.Config}}{{.Subnet}} {{end}}' | column -s'|' -t
Пример вывода команды, когда остановлены все контейнеры и удалены все подсети:
$ docker network ls -q | xargs docker network inspect -f '{{.Name}}|{{range .IPAM.Config}}{{.Subnet}} {{end}}' | column -s'|' -t
bridge 172.17.0.0/16
host
none
Если обнаружены совпадающие подсети выполнить очистку командой sudo docker network prune, подтвердив удаление:
$ sudo docker network prune WARNING! This will remove all custom networks not used by at least one container. Are you sure you want to continue? [y/N] y
Затем выполнить обновление в соответствии с инструкцией по установке в зависимости то используемого типа обновления: онлайн или оффлайн и схемы резервирования: с VRRP или без VRRP.
Для успешного обновления необходимо последовательно выполнить:
- Плейбук установки кластера PostgreSQL.
- Плейбук установки сервисов NAICE.