Описание

Обновление выполняется с версии 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 и выгрузить её с сервера для возможности восстановления данных в случае ошибок обновления.


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

Если в новом плейбуке установки версии 1.3.Х в переменных group_vars/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.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

Обновление однохостовой (stand-alone) установки

Для обновления онлайн используется тот же хост, на котором развернут NAICE.

Для обновления в закрытом контуре используется тот же хост, на котором развернут NAICE.

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

В ходе подготовки к обновлению необходимо только подготовить VM для запуска плейбуков Ansible.

Выполнять обновление однохостовой (stand-alone) установки путем запуска плейбука install-naice.yml не допускается! Для обновления используется отдельный плейбук!

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

В файле конфигурации inventory/hosts.yml указать: 

common:
  hosts:
    # Хост для выполнения stand-alone установки NAICE
    common_host:
      ansible_host: <IP-адрес хоста для NAICE>
      ansible_port: 22
      ansible_user: <логин пользователя хоста, под которым выполняется запуск плейбука>
      ansible_ssh_pass: <пароль пользователя хоста, под которым выполняется запуск плейбука>
      ansible_become_password: <пароль для повышения привилегий (sudo) пользователя хоста, под которым выполняется запуск плейбука>

Обновление

Обновление осуществляется запуском отдельного плейбука Ansible master-migration-naice-standalone-1.2-1.3.yml. По завершении работы плейбука не должно быть ошибок.

ansible-playbook master-migration-naice-standalone-1.2-1.3.yml -i inventory/hosts.yml

При выполнении оффлайн обновления на ОС Astra Linux 1.7.x необходимо выполнять запуск плейбука из под пользователя root, без использования sudo!

Перед запуском плейбука необходимо выполнить:

$sudo su
#


Проверка состояния сервисов

Проверить успешность запуска контейнеров можно, перейдя в директорию для установки NAICE (по умолчанию - /etc/docker-naice/ ) и выполнив команду для просмотра списка и статуса контейнеров docker compose ps -a. Вывод команды должен быть примерно следующим:

NAME                COMMAND                  SERVICE             STATUS              PORTS
epg-service         "/bin/sh -e /usr/loc…"   epg-service         running (healthy)
naice-aquila        "java -cp @/app/jib-…"   naice-aquila        running (healthy)   0.0.0.0:49->1049/tcp, 0.0.0.0:8091->8091/tcp, :::49->1049/tcp, :::8091->8091/tcp
naice-bubo          "java -cp @/app/jib-…"   naice-bubo          running (healthy)   0.0.0.0:8093->8093/tcp, :::8093->8093/tcp
naice-castor        "java -Djava.awt.hea…"   naice-castor        running (healthy)   0.0.0.0:8095->8095/tcp, :::8095->8095/tcp
naice-cetus         "java -cp @/app/jib-…"   naice-cetus         running (healthy)   0.0.0.0:8099->8099/tcp, :::8099->8099/tcp
naice-gavia         "java -cp @/app/jib-…"   naice-gavia         running (healthy)   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
naice-gulo          "java -cp @/app/jib-…"   naice-gulo          running (healthy)   0.0.0.0:8089->8089/tcp, :::8089->8089/tcp
naice-lemmus        "java -cp @/app/jib-…"   naice-lemmus        running (healthy)   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp
naice-lepus         "java -cp @/app/jib-…"   naice-lepus         running (healthy)   0.0.0.0:67->1024/udp, 0.0.0.0:8087->8087/tcp, :::67->1024/udp, :::8087->8087/tcp
naice-mustela       "java -cp @/app/jib-…"   naice-mustela       running (healthy)   0.0.0.0:8070->8070/tcp, :::8070->8070/tcp
naice-nats          "docker-entrypoint.s…"   nats                running (healthy)
naice-orca          "java -cp @/app/jib-…"   naice-orca          running (healthy)   0.0.0.0:8102->8102/tcp, :::8102->8102/tcp
naice-ovis          "java -cp @/app/jib-…"   naice-ovis          running (healthy)   0.0.0.0:8084->8084/tcp, :::8084->8084/tcp
naice-phoca         "java -cp @/app/jib-…"   naice-phoca         running (healthy)   0.0.0.0:8097->8097/tcp, :::8097->8097/tcp
naice-postgres      "/opt/bitnami/script…"   postgres            running (healthy)   127.0.0.1:15432->22/tcp, 127.0.0.1:5432->5432/tcp
naice-radius        "/docker-entrypoint.…"   naice-radius        running (healthy)   0.0.0.0:1812-1813->1812-1813/udp, 0.0.0.0:9812->9812/tcp, :::1812-1813->1812-1813/udp, :::9812->9812/tcp
naice-sterna        "/docker-entrypoint.…"   naice-sterna        running (healthy)   0.0.0.0:32769->80/tcp, 0.0.0.0:8443->444/tcp, :::32769->80/tcp, :::8443->444/tcp
naice-ursus         "java -cp @/app/jib-…"   naice-ursus         running (healthy)   0.0.0.0:8081->8081/tcp, :::8081->8081/tcp
naice-vulpus        "java -cp @/app/jib-…"   naice-vulpus        running (healthy)   0.0.0.0:8086->8086/tcp, :::8086->8086/tcp
naice-web           "/docker-entrypoint.…"   naice-web           running (healthy)   0.0.0.0:32770->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->4200/tcp, :::32770->80/tcp, :::443->443/tcp, :::80->4200/tcp

Приложения

Ручное обновление СУБД PostgreSQL для однохостовой (stand-alone) установки с версии 1.2 на версию 1.3

Далее везде указана папка установки NAICE по умолчанию: /etc/docker-naice. Если NAICE развернут по другому пути - следует использовать его.

В случае невозможности или возникновения ошибок в ходе автоматического обновления СУБД можно выполнить обновление СУБД вручную. Для этого требуется выполнить следующие действия.

  1. Создать резервную копию БД для версии 1.2 командой:
    sudo docker exec -it naice-postgres /home/worker/scripts/backup/backup.sh
  2. Скопировать полученный архив в другую папку, например в домашнюю папку пользователя:
    cp -v /etc/docker-naice/postgres/backups/naice_2026-10-27_06-22-45_.tar.gz ~
  3. Перейти в папку установки NAICE и остановить все контейнеры:
    cd /etc/docker-naice/
    sudo docker compose down
  4. Удалить папку с данными СУБД PostgreSQL:
    sudo rm -rfv postgres/data
  5. Выполнить установку версии 1.3 с учетом всех необходимых действий указанных в разделе Подготовка к обновлению:
    ansible-playbook install-naice.yml
  6. Скопировать ранее выгруженный архив БД в новую папку резервных копий:
    sudo cp -v ~/naice_2026-10-27_06-22-45_.tar.gz /etc/docker-naice/postgres/backups/
  7. Запустить восстановление бэкапа из скопированного файла:
    sudo docker exec -it naice-postgres /home/worker/scripts/backup/restore.sh -f /var/backups/naice_2026-10-27_06-22-45_.tar.gz
  8. Выполнить перезапуск контейнеров:
    sudo docker compose down && sudo docker compose up -d
  9. Проверить состояние сервисов NAICE:
    $ sudo docker compose ps -a
    NAME                COMMAND                  SERVICE             STATUS              PORTS
    epg-service         "/bin/sh -e /usr/loc…"   epg-service         running (healthy)
    naice-aquila        "java -cp @/app/jib-…"   naice-aquila        running (healthy)   0.0.0.0:49->1049/tcp, 0.0.0.0:8091->8091/tcp, :::49->1049/tcp, :::8091->8091/tcp
    naice-bubo          "java -cp @/app/jib-…"   naice-bubo          running (healthy)   0.0.0.0:8093->8093/tcp, :::8093->8093/tcp
    naice-castor        "java -Djava.awt.hea…"   naice-castor        running (healthy)   0.0.0.0:8095->8095/tcp, :::8095->8095/tcp
    naice-cetus         "java -cp @/app/jib-…"   naice-cetus         running (healthy)   0.0.0.0:8099->8099/tcp, :::8099->8099/tcp
    naice-gavia         "java -cp @/app/jib-…"   naice-gavia         running (healthy)   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
    naice-gulo          "java -cp @/app/jib-…"   naice-gulo          running (healthy)   0.0.0.0:8089->8089/tcp, :::8089->8089/tcp
    naice-lemmus        "java -cp @/app/jib-…"   naice-lemmus        running (healthy)   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp
    naice-lepus         "java -cp @/app/jib-…"   naice-lepus         running (healthy)   0.0.0.0:67->1024/udp, 0.0.0.0:8087->8087/tcp, :::67->1024/udp, :::8087->8087/tcp
    naice-mustela       "java -cp @/app/jib-…"   naice-mustela       running (healthy)   0.0.0.0:8070->8070/tcp, :::8070->8070/tcp
    naice-nats          "docker-entrypoint.s…"   nats                running (healthy)
    naice-orca          "java -cp @/app/jib-…"   naice-orca          running (healthy)   0.0.0.0:8102->8102/tcp, :::8102->8102/tcp
    naice-ovis          "java -cp @/app/jib-…"   naice-ovis          running (healthy)   0.0.0.0:8084->8084/tcp, :::8084->8084/tcp
    naice-phoca         "java -cp @/app/jib-…"   naice-phoca         running (healthy)   0.0.0.0:8097->8097/tcp, :::8097->8097/tcp
    naice-postgres      "/opt/bitnami/script…"   postgres            running (healthy)   127.0.0.1:15432->22/tcp, 127.0.0.1:5432->5432/tcp
    naice-radius        "/docker-entrypoint.…"   naice-radius        running (healthy)   0.0.0.0:1812-1813->1812-1813/udp, 0.0.0.0:9812->9812/tcp, :::1812-1813->1812-1813/udp, :::9812->9812/tcp
    naice-sterna        "/docker-entrypoint.…"   naice-sterna        running (healthy)   0.0.0.0:32769->80/tcp, 0.0.0.0:8443->444/tcp, :::32769->80/tcp, :::8443->444/tcp
    naice-ursus         "java -cp @/app/jib-…"   naice-ursus         running (healthy)   0.0.0.0:8081->8081/tcp, :::8081->8081/tcp
    naice-vulpus        "java -cp @/app/jib-…"   naice-vulpus        running (healthy)   0.0.0.0:8086->8086/tcp, :::8086->8086/tcp
    naice-web           "/docker-entrypoint.…"   naice-web           running (healthy)   0.0.0.0:32770->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->4200/tcp, :::32770->80/tcp, :::443->443/tcp, :::80->4200/tcp

Для ОС Astra Linux 1.7.X может наблюдаться проблема с запуском некоторых контейнеров. В этом случае необходимо выполнить рестарт сервиса docker:

sudo systemctl restart docker

И повторно выполнить запуск контейнеров вручную:

sudo docker compose up -d