Описание

Обновление выполняется с версии 1.1. X. Для обновления с более ранней версии потребуется сначала обновиться до версии 1.1, а затем до версии 1.2.X.

Перед обновлением необходимо ознакомиться с описанием изменений v1.2_3.9.1 Изменения версий 1.2.X, определить какие настройки системы необходимо будет выполнить сразу после обновления и подготовить необходимые данные для их выполнения (сертификаты, локальную УЗ для входа в NAICE).

Подготовка к обновлению

Перед обновлением необходимо создать резервную копию БД в соответствии с инструкцией: v1.2_3.10 Создание резервной копии данных БД и восстановление данных БД и выгрузить её с сервера для возможности восстановления данных в случае ошибок обновления.


Если какие-либо переменные в groups/all.yml были изменены при установке предыдущих версий - необходимо перенести значения переменных all.yml из старого плейбука в новый перед установкой.

Если в новом плейбуке установки версии 1.2.Х в переменных groups/all.yml отсутствуют ранее использовавшиеся переменные - это значит что она была перенесена в менеджер конфигураций и её указание более не требуется.

Директория установки NAICE - изменить значение, если ранее использовалась другая директория для установки:

naice_docker_path: /etc/docker-naice


Указать актуальную временную зону работы NAICE:

time_zone: "Etc/UTC"


Ранее в конфигурации подсетей контейнеров вручную было добавлено использование определенных подсетей - необходимо перенести эту информацию в файл переменных group_vars/networks.yml (в приведенном примере показаны значения по умолчанию):

---
# Переменные для настройки Docker сети
docker_network_unmasked:
  subnet: "172.18.0.0/20"
  ip_range: "172.18.8.0/21"
  gateway: "172.18.0.1"

docker_network_external:
  subnet: "172.20.0.0/20"
  ip_range: "172.20.8.0/21"
  gateway: "172.20.0.1"

docker_network_internal:
  subnet: "172.21.0.0/20"
  ip_range: "172.21.8.0/21"
  gateway: "172.21.0.1"


Если используется клиент мониторинга Peeper Client

Если в составе NAICE ранее был установлен Peeper-Client (подробнее v1.2_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 версии 1.2.X:

Подготовка к обновлению и обновление выполняется в соответствии с инструкцией по установке:

Для онлайн обновления:

Для оффлайн обновления:

Рекомендуется использовать для запуска плейбуков Ansible тот же хост, что использовался ранее для установки, что бы не выполнять его повторную подготовку.

Особенности подготовки хостов с кластером 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.2_3.14 Смена 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.