Технический аспект перехода на СПО.

Перед разворачиванием Системы необходимо убедиться, что на всех узлах будущего кластера установлена ОС Linux Debian версии 9 или выше и между всеми узлами открыты следующие порты:
TCP порт 2377;
TCP и UDP порт 7946;
UDP порт 4789.

Так же все узлы кластера должны быть доступны с рабочих станций по TCP порту 80. Для доступа к веб-интерфейсу системы мониторинга с рабочей машины администратора все узлы кластера должны быть доступны по TCP порту 8080.

Настройка серверов, разворачивание кластера, установка и запуск системы осуществляется с помощью ssh терминала. Для подключения к серверам с помощью ssh из ОС Windows можно воспользоваться утилитой PuTTY.

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

На первом этапе разворачивания кластера необходимо на все узлы кластера установить docker версии 19 или выше. Для этого на каждом из узлов необходимо выполнить следующие команды:
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io

Для проверки корректности установки docker необходимо выполнить команду:
docker run hello-world

На экране должна отобразиться информация о запуске контейнера, включающая в себя следующие строки:
"Hello from Docker!
This message shows that your installation appears to be working correctly."

Подробную информацию про установку docker для ОС Linux Debian можно узнать на сайте
https://docs.docker.com/engine/install/debian/

Следующим этапом необходимо на все узлы кластера установить docker-compose версии 1.27 или выше. Для этого на каждом из узлов необходимо выполнить следующие команды:
curl -L "https://github.com/docker/compose/releases/downloa...$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Подробную информацию про установку docker-compose для ОС Linux Debian можно узнать на сайте
https://docs.docker.com/compose/install/

Загружаем образы контейнеров на все узлы будущего кластера. Для этого на каждый узел копируем файлы "docker-images.gz" и "update.sh" из дистрибутива и запускаем установку командой:
./update.sh

Далее инициализируем кластер и добавляем в него узлы. Переходим на сервер 6KC-sql-1 и выполняем команду:
docker swarm init

На экране должна отобразиться информация об успешной инициализации кластера "Swarm initialized: current node is now a manager" и выведена команда на подключение рабочих узлов кластера: "docker swarm join --token <тут будет токен> 10.50.0.16:2377".

Выполняем эту команду на оставшихся узлах 6KC-web-1 и 6KC-mon-1. При успешном подключении узлов в кластер на экране должна отобразиться надпись "This node joined a swarm as a worker."

Следующим этапом необходимо распределить метки узлов кластера. Для этого на сервере 6KC-sql-1 (являющимся менеджером кластера) выполняем следующие команды:
docker node update --label-add role=database 6KC-sql-1
docker node update --label-add role=worker 6KC-web-1
docker node update --label-add role=monitor 6KC-mon-1

Завершающим этапом является запуск Системы в кластере. Для этого необходимо скопировать на сервер 6KC-sql-1 файлы "docker-compose.yml" и "run.sh" из дистрибутива и выполнить команду:
./run.sh

В течение минуты Система будет запущена. Для проверки работоспособности необходимо открыть браузер на рабочей станции, ввести в адресную строку IP адрес любого из узлов кластера (10.50.0.16, 10.50.0.17, 10.50.0.18) и перейти на страницу Системы. В браузере должен отобразиться экран запроса логина и пароля.