Подготовка VM для установки

IP-адрес VM, на которой разворачивается NAICE должен быть задан статический!

Для разворачивания VM требуется установить ряд пакетов содержащихся в официальных репозиториях используемой ОС.

Для установки таких пакетов может использоваться локальное зеркало официального репозитория, размещенное в закрытом контуре и доступное для установки на  целевую машину с помощью пакетного менеджера YUM.

Подготовка VM

Развернуть VM в соответствии с v1.0_3.1 Системные требования

Установить из официального репозитория RedOS пакеты со всеми зависимостями:

sudo yum install docker-ce docker-compose sshpass python3-pip python3-psycopg2 python3-requests ansible -y

Проверить корректность установки и версии docker и docker-compose (версия не должна быть ниже указанной):

$ sudo docker --version
Docker version 28.1.1, build 4eba377
$ sudo docker compose version
Docker Compose version 2.32.1

Проверить версию Ansible:

Для ОС RedOS 7.3.4/7.3.5
$ ansible --version
ansible [core 2.13.13]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/tester/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.8/site-packages/ansible
  ansible collection location = /home/tester/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.8.18 (default, Nov 29 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Soft 11.4.0-1)]
  jinja version = 3.0

Для ОС RedOS 8.0
$ ansible --version
ansible [core 2.16.3]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/tester/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.11/site-packages/ansible
  ansible collection location = /home/tester/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.11.11 (main, Mar  4 2025, 00:00:00) [GCC 12.4.1 20240730 (RED SOFT 12.4.0-1)] (/usr/bin/python3)
  jinja version = 3.1.5
  libyaml = True


Установить Ansible community docker версии 4.7.0. Для этого требуется скачать и поместить на целевой хост файл community-docker-4.7.0.tar.gz.

Прямая ссылка на скачивание файла: https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb

При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка.

Можно скачать командой wget на целевой хост, если открыть доступ к адресу https://cloud.eltex-co.ru:

wget https://cloud.eltex-co.ru/index.php/s/9Hv6p4yz611fDXb/download -O community-docker-4.7.0.tar.gz

Установить коммьюнити командой (без использования sudo):

$ ansible-galaxy collection install community-docker-4.7.0.tar.gz

Проверить версию коммьюнити:

Для ОС RedOS 7.3.4/7.3.5
$ ansible-galaxy collection list | grep community.docker
community.docker                         4.7.0  
community.docker              2.7.3  

Для ОС RedOS 8.0
$ ansible-galaxy collection list | grep community.docker
community.docker                         4.7.0  
community.docker                         3.7.0

Установить модуль docker для python3:

sudo pip3 install docker

Установка NAICE

Установка NAICE после установки всех необходимых компонентов не различается для RedOS 7.3.4/7.3.5/8.0.

Необходимо загрузить на конечный хост архив представленный ниже. Архив содержит все необходимые плейбуки и образы.

Прямая ссылка на скачивание архива: https://cloud.eltex-co.ru/index.php/s/B8XthRBYSqupfDE

При необходимости архив можно загрузить на любой ПК, с которого есть доступ через сеть Интернет к сайту https://cloud.eltex-co.ru по ссылке выше и выполнить его перенос на целевой хост установки любым доступным SCP-менеджером в домашнюю директорию пользователя, из под которого будет выполняться установка.

Можно скачать командой wget на целевой хост, если открыть доступ к адресу https://cloud.eltex-co.ru:

wget https://cloud.eltex-co.ru/index.php/s/B8XthRBYSqupfDE/download -O naice_install_2025-11-14.tar.gz

Распаковать на целевом хосте полученный архив и перейти в директорию ansible внутри полученной директории

tar xzvf naice_install_2025-11-14.tar.gz
cd naice_install/ansible

В файле inventory/hosts.yml указать:

В переменной ansible_host необходимо указать IP-адрес или доменное имя, которые будет использоваться для подключения к GUI NAICE и существующие на хосте установки! 

---
common:
  hosts:
    common_host:
      ansible_host: <IP-адрес или доменное имя хоста для NAICE>      
      ansible_user: <логин пользователя>
      ansible_ssh_pass: <пароль пользователя>
      ansible_become_pass: <пароль для повышения привилегий (sudo)>


При необходимости выполнить настройку переменных плейбука, расположенных в файле group_vars/all.yml. Подготовка переменных не отличается от онлайн установки и выполняется аналогичным способом. Подробнее с назначением переменных можно ознакомиться: 

Настройка переменных в файле group_vars/all.yml


Выполните плейбук для установки NAICE (без использования sudo):

ansible-playbook install-naice.yml -i inventory/hosts.yml

Запустится процесс установки, результатом работы которого будет установленный сервис NAICE, убедитесь, что установка завершена без ошибок. Пример завершения:

PLAY RECAP *****************************************************************************************************************************************************************************************************************************************
common_host                : ok=143  changed=50   unreachable=0    failed=0    skipped=58   rescued=0    ignored=1  

Проверить состояние сервиса можно проверить. Для этого перейти в директорию установки NAICE (по умолчанию /etc/docker-naice) и проверить состояние командой:

cd /etc/docker-naice/
sudo docker compose ps -a

Результат:

root@alse:/home/tester/naice_install/ansible# docker ps -a
CONTAINER ID   IMAGE                                                           COMMAND                  CREATED          STATUS                    PORTS                                                                                                          NAMES
7460d70c1aff   naice-release.registry.eltex.loc/naice-web:1.0                  "/docker-entrypoint.…"   20 minutes ago   Up 16 minutes (healthy)   80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp                       naice-web
ceeb87ce7f69   naice-release.registry.eltex.loc/naice-gavia:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 17 minutes (healthy)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp                                                                    naice-gavia
fd9ddc73919d   naice-release.registry.eltex.loc/naice-sterna:1.0               "/docker-entrypoint.…"   20 minutes ago   Up 17 minutes (healthy)   80/tcp, 0.0.0.0:8443->444/tcp, [::]:8443->444/tcp                                                              naice-sterna
1e2169101a0e   naice-release.registry.eltex.loc/naice-lemmus:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8083->8083/tcp, [::]:8083->8083/tcp                                                                    naice-lemmus
8837bfed4996   naice-release.registry.eltex.loc/naice-castor:1.0               "java -Djava.awt.hea…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8095->8095/tcp, [::]:8095->8095/tcp                                                                    naice-castor
233a38ff95ea   naice-release.registry.eltex.loc/naice-aquila:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:49->49/tcp, [::]:49->49/tcp, 0.0.0.0:8091->8091/tcp, [::]:8091->8091/tcp                               naice-aquila
c888594e4174   naice-release.registry.eltex.loc/naice-ovis:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8084->8084/tcp, [::]:8084->8084/tcp                                                                    naice-ovis
7c297f0d4669   naice-release.registry.eltex.loc/naice-vulpus:1.0               "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp                                                                    naice-vulpus
db77b248b149   naice-release.registry.eltex.loc/naice-gulo:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8089->8089/tcp, [::]:8089->8089/tcp                                                                    naice-gulo
eb3cf2d73deb   naice-release.registry.eltex.loc/naice-mustela:1.0              "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8070->8070/tcp, [::]:8070->8070/tcp                                                                    naice-mustela
daf72ad67c9a   naice-release.registry.eltex.loc/naice-bubo:1.0                 "java -cp @/app/jib-…"   20 minutes ago   Up 18 minutes (healthy)   0.0.0.0:8093->8093/tcp, [::]:8093->8093/tcp                                                                    naice-bubo
14e50fefe186   naice-release.registry.eltex.loc/naice-lepus:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8087->8087/tcp, [::]:8087->8087/tcp, 0.0.0.0:67->1024/udp, [::]:67->1024/udp                           naice-lepus
0dbb4a7c4eea   naice-release.registry.eltex.loc/naice-ursus:1.0                "java -cp @/app/jib-…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8081->8081/tcp, [::]:8081->8081/tcp                                                                    naice-ursus
99adf854bbc1   naice-release.registry.eltex.loc/naice-radius:1.0               "/docker-entrypoint.…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:1812-1813->1812-1813/udp, [::]:1812-1813->1812-1813/udp, 0.0.0.0:9812->9812/tcp, [::]:9812->9812/tcp   naice-radius
32455919efe7   naice-build-hosted.registry.eltex.loc/naice/nats:0.7.1          "docker-entrypoint.s…"   20 minutes ago   Up 19 minutes (healthy)   4222/tcp, 6222/tcp, 7777/tcp, 0.0.0.0:8222->8222/tcp, [::]:8222->8222/tcp                                      naice-nats
b0b9686e2ad4   naice-build-hosted.registry.eltex.loc/naice/epg-service:1.1-2   "/bin/sh -e /usr/loc…"   20 minutes ago   Up 19 minutes (healthy)   0.0.0.0:8100->8100/tcp, [::]:8100->8100/tcp                                                                    epg-service
85a0c445f03d   naice-build-hosted.registry.eltex.loc/naice/postgres:1.0.6      "docker-entrypoint.s…"   20 minutes ago   Up 19 minutes (healthy)   5432/tcp                                                                                                       naice-postgres

Все контейнеры должны быть запущены и находиться в состоянии healthy.

На этом можно считать установку выполненной.