Обновление до v25.06
Процедура обновления на версию v25.06 требует предварительных действий перед запуском новой версии.
Подготовка к обновлению
-
Убедиться, что установлена Docker Compose версии 2:
docker-compose version --short
Обновить при необходимости. MITIGATOR более не поддерживает Docker Compose версии 1.
-
Убрать из файла
.env
элементы, не поддерживаемые Docker Compose v2:sed -e 's/\b\(docker-compose.yml\):\1/\1/' -i .env
-
При использовании сетевых адаптеров NVIDIA (Mellanox) обновить OFED до актуальной версии.
-
На всех экземплярах с ClickHouse скачать файл миграции метрик:
wget https://docs.mitigator.ru/master/kb/update2506/update2506.sql -O /srv/mitigator/update2506.sql
-
На всех экземплярах в файл
.env
добавить переменнуюMITIGATOR_PUBLIC_ADDRESS
. Чтобы сохранить существующее поведение, задать её такой же, какMITIGATOR_HOST_ADDRESS
.Если
MITIGATOR_HOST_ADDRESS
содержит доменное имя, рекомендуется заменить его на IP-адрес, чтобы контейнеры не теряли связность при проблемах с DNS.MITIGATOR_PUBLIC_ADDRESS
может содержать как IP-адрес, так и доменное имя. -
На всех экземплярах изменить владельца данных экземпляра:
chown -R 65534:65534 /var/lib/docker/volumes/mitigator_own_id/_data
-
На всех экземплярах удалить файлы web-интерфейса старой версии:
docker volume rm mitigator_frontend
Обновление особых настроек
Если в контейнеры монтировались файлы с особыми настройками
Postgres (postgresql.conf
) или Nginx (nginx.conf
),
то необходимо обновить эти файлы для использования с образами новой версии.
Обновление особых настроек Postgres
Проверить, что postgresql.conf
монтируется:
docker-compose config | grep postgresql.conf
Если postgresql.conf
монтируется, вывод команды будет содержать следующие строки:
source: /srv/mitigator/postgresql.conf
target: /etc/postgresql/11/main/postgresql.conf
Если таких строк нет, то postgresql.conf
не монтируется, обновлять его не нужно.
Путь к файлу на хосте может отличаться от /srv/mitigator/postgresql.conf
,
тогда в следующей команде его нужно скорректировать.
Обновить postgresql.conf
:
sed -e "/include '\/database_identifier'/d" -i /srv/mitigator/postgresql.conf
Обновление особых настроек Nginx
Проверить, что nginx.conf
монтируется:
docker-compose config | grep nginx.conf
Если nginx.conf
монтируется, вывод команды будет содержать следующие строки:
source: /srv/mitigator/nginx.conf
target: /etc/nginx/nginx.conf
Если таких строк нет, то nginx.conf
не монтируется, обновлять его не нужно.
Путь к файлу на хосте может отличаться от /srv/mitigator/nginx.conf
,
тогда в следующей команде его нужно скорректировать.
Обновить nginx.conf
:
sed -e "/user www-data;/d" -e "s|pid /run/nginx.pid|pid /var/lib/nginx/nginx.pid|" -i /srv/mitigator/nginx.conf
Обновление особых настроек HTTP(S)
Проверить, что mitigator.conf
монтируется:
docker-compose config | grep mitigator.conf
Если mitigator.conf
монтируется, вывод команды будет содержать следующие строки:
source: /srv/mitigator/mitigator.conf
target: /etc/nginx/conf.d/mitigator.conf
Если таких строк нет, то mitigator.conf
не монтируется, обновлять его не нужно.
Путь к файлу на хосте может отличаться от /srv/mitigator/mitigator.conf
,
тогда в следующей команде его нужно скорректировать.
Обновить mitigator.conf
:
sed -e 's/listen 80/listen 8000/' -e 's/listen 443/listen 8443/' -i /srv/mitigator/mitigator.conf
Обновление системы
Обновить все экземпляры MITIGATOR согласно стандартной процедуре обновления.
Запуск MITIGATOR и миграция данных
-
Запустить MITIGATOR:
docker-compose up -d
-
Выполнить миграцию метрик:
docker-compose exec -T clickhouse clickhouse-client -mn < update2506.sql && \ docker-compose restart carbon-clickhouse
Миграция метрик может занять продолжительное время. В этот промежуток времени защитные функции MITIGATOR полностью работоспособны, но не будут отображаться графики.
Сообщения печатаются только в случае ошибок. В этом случае текст сообщения нужно сообщить разработчикам.