Общее описание

Для смены Docker-сетей на уже установленном NAICE предназначен плейбук replace-docker-networks.yml. Если требуется сменить подсети Docker и повторно переустановить NAICE воспользуйтесь разделом Повторная установка NAICE со сменой Docker-сетей. Принцип работы плейбука replace-docker-networks.yml заключается в копировании обновленных docker-compose файлов на указанные хосты и последующем перезапуске контейнеров NAICE.

Смена сетей требует остановки контейнеров, поэтому во время выполнения плейбука replace-docker-networks.yml сервисы NAICE будут временно недоступны.

Если в составе NAICE используется Peeper-Client (подробнее v1.2_7.3 Мониторинг NAICE с использованием Eltex Peeper) перед выполнением смены подсетей Docker необходимо вручную остановить Peeper-Client. Для этого необходимо зайти в папку установки клиента <папка установки NAICE>/peeper (по умолчанию /etc/docker-naice/peeper) и остановить его командой:

sudo ./setup.sh -u

Смена Docker-сетей

Изменить значения в файле group_vars/networks.yml на новые параметры сети.

Пример содержимого файла 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"

Перед сменой сетей убедиться, что новые подсети не пересекаются с существующими в инфраструктуре.

Если в составе NAICE ранее был установлен Peeper-Client (подробнее v1.2_7.3 Мониторинг NAICE с использованием Eltex Peeper), то перед выполнением смены подсетей Docker необходимо вручную остановить Peeper-Client. Для этого необходимо зайти в папку установки клиента <папка установки NAICE>/peeper (по умолчанию /etc/docker-naice/peeper) и остановить его командой:

cd /etc/docker-naice/peeper
sudo bash ./setup.sh -u

Запустить плейбук replace-docker-networks.yml для смены Docker-сетей:

ansible-playbook replace-docker-networks.yml -i inventory/<ваш-файл-hosts>.yml

Предустановленные inventory-файлы:

  • hosts.yml - для standalone установки
  • hosts-cluster.yml - для кластерной установки с VRRP
  • hosts-geo.yml - для кластерной установки без VRRP

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

После выполнения плейбука выполнить проверку на хостах, где установлен NAICE:

docker network inspect external
docker network inspect internal
docker network inspect naice-network-unmasked
При использовании схемы с резервированием параметры external сети должны совпадать в файлах docker-compose.yml и docker-compose.repmgr.yml!

Повторная установка NAICE со сменой Docker-сетей

Для однохостовой установки

Остановить контейнеры с помощью следующей команды:

cd /etc/docker-naice
sudo docker compose down

Удалить Docker-сети с помощью команды:

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

Проверить, что сети external, internal и naice-network-unmasked отсутствуют в выводе команды:

docker network ls

Затем выполнить установку в соответствии с инструкцией v1.2_ru_3.4 Установка плейбуками Ansible (одиночная "Stand-Alone")

Для установки с резервированием

Остановить контейнеры на нодах с сервисами NAICE:

cd /etc/docker-naice
docker compose -f docker-compose.yml down

Остановить контейнеры на нодах с PostgreSQL с помощью команды:

cd /etc/docker-naice
docker compose -f docker-compose.repmgr.yml down

Удалить Docker-сети на всех нодах с помощью команды:

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

Проверить, что сети external, internal и naice-network-unmasked отсутствуют в выводе команды:

docker network ls

Затем выполнить установку в соответствии с инструкцией v1.2_ru_3.5 Установка с резервированием (c использованием VRRP) или  v1.2_ru_3.6 Установка с резервированием (без использования VRRP)