Update
Make a backup beforehand.
See also: compatibility policy of the versions.
BGP announcements
If MITIGATOR is configured to announce protected prefixes over BGP, then before updating the instance, disable the BGP connection for the instance being updated in the «Local BGP Settings» on the «BGP» page.
After completing the update of the instance, you should restore the BGP connection.
Isolated instance update
After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.
-
Make sure you have backup taken earlier.
-
Write a line with the version to the
.env
file:VERSION=vXX.XX
Where
vXX.XX
is a target version (for example: v20.08 or v20.12.1). -
Download the latest Compose file:
wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml -O docker-compose.yml
Where
vXX.XX
is a target major version (for example: v20.08 or v20.12). -
Log in to the image repository with your credentials:
docker login docker.mitigator.ru
-
Download images:
docker-compose pull
-
Reboot all of the MITIGATOR components:
docker-compose down && docker-compose up -d
After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.
Cluster update with shared non-redundant storage
After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.
-
Make sure you have backups taken earlier.
-
Stop all instances of MITIGATOR:
docker-compose down
-
On all instances, write a line with the version to the
.env
file:VERSION=vXX.XX
Where
vXX.XX
is a target version (for example: v20.08 or v20.12.1). -
Download the latest
docker-compose.yml
on all instances:wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml
Where
vXX.XX
is a target major version (for example: v20.08 or v20.12). -
On all instances except the base one, download the latest file
docker-compose.worker.yml
:wget https://docs.mitigator.ru/vXX.XX/dist/multi/docker-compose.worker.yml \ -O docker-compose.worker.yml
-
Enable Postgres on the base instance:
docker-compose up -d postgres
-
Starting with the leader, run on all instances sequentially:
docker-compose up -d
After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.
Updating a cluster with internal failover storage
After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.
-
Make sure you have backups taken earlier.
-
Stop all MITIGATOR instances running Postgres in standby mode, then stop the instance with Postgres in active mode:
docker-compose down
-
On all instances, write a line with the version to the
.env
file:VERSION=vXX.XX
Where
vXX.XX
is a target version (for example: v20.08 or v20.12.1). -
Download the latest
docker-compose.yml
on all instances:wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml
Where
vXX.XX
is a target major version (for example: v20.08 or v20.12). -
Activate an instance with Postgres in active mode, then activate all MITIGATOR instances with Postgres in standby mode:
docker-compose up -d
After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.
Updating a Cluster with External Failover Storage
After the update, it may take some time to enable protection and visualize graphs. Do not enable protection manually, it will turn on after spilling all the settings.
Steps 2, 7 and 14 depend on the actual organization of the DBMS on the external server.
-
Make sure you have backups taken earlier.
-
Disable database access for all instances.
-
On all instances, write a line with the version to the
.env
file:VERSION=vXX.XX
Where
vXX.XX
is a target version (for example: v20.08 or v20.12.1). -
Download the latest
docker-compose.yml
on all instances:wget https://docs.mitigator.ru/vXX.XX/dist/docker-compose.yml
Where
vXX.XX
is a target major version (for example: v20.08 or v20.12). -
Log in to the image store with your credentials:
docker login docker.mitigator.ru
-
Download images:
docker-compose pull
-
Make sure that database access is disabled on all instances:
-
Reboot all of the MITIGATOR components:
docker-compose down && docker-compose up -d
-
Perform the necessary database migrations (the actions are similar to those performed during the initial postgres setup postgres), , for which:
-
Run command:
docker-compose create postgres
-
Copy migration scripts:
docker cp $(docker-compose ps -q postgres):/schema schema
-
Execute scripts using the utility SHMIG.
-
Run command:
docker-compose rm -sf postgres
-
Enable DB access for all instances.
After launching, refresh the MITIGATOR Web interface browser tab with clearing the cache.