Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Docker Swarm на Ubuntu Server.
Docker Swarm — это инструмент кластеризации для Docker, преобразующий набор серверов Docker в один кластер. Docker Swarm обеспечивает доступность и высокую производительность работы, распределяя ее по серверам Docker внутри кластера.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 20.04 LTS.
Подробно о том, как установить Ubuntu Server 20.04 LTS, вы можете прочитать в моем руководстве «Установка Ubuntu Server 20.04 LTS».
Также на сервере должен быть установлен Docker Engine.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав «Установка Docker Engine на Ubuntu Server».
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
sudo apt-get install openssh-server
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY — свободно распространяемым клиентом для различных протоколов удаленного доступа, включая SSH, Telnet, rlogin.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
Обратите внимание, вам потребуется открыть следующие порты TCP и UDP для доступа к вашему серверу:
- TCP порт 2377 — для управления кластером и синхронизации Raft.
- TCP и UDP порт 7946 — для связи между всеми серверами Docker Swarm.
- UDP порт 4789 — для сетевого трафика (входящая сеть контейнеров).
- IP Protocol 50 (ESP) — если вы планируете использовать сеть с опцией шифрования.
Подключаемся к серверу, на который планируется установить Docker Swarm.
Посмотрим IP-адрес сервера с помощью команды:
ip a

Активируем Docker Swarm с помощью команды:
docker swarm init --advertise-addr 10.170.18.13
Обратите внимание, 10.170.18.13 — IP-адрес моего сервера. Соответственно, вам необходимо указать IP-адрес вашего сервера.

Docker Swarm активирован.
С помощью показанной на экране команды можно присоединить еще один сервер с ролью «Worker» в кластер Docker Swarm.
Обратите внимание, для подготовки еще одного сервера для кластера Docker Swarm вам потребуется установить на новый сервер только Docker Engine и выполнить команду docker swarm join
с соответствующим токеном.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав «Установка Docker Engine на Ubuntu Server».
Теперь получим токен для присоединения нового сервера с ролью «Manager» к кластеру Docker Swarm с помощью команды:
docker swarm join-token manager

С помощью показанной на экране команды можно присоединить еще один сервер с ролью «Manager» в кластер Docker Swarm.
Обратите внимание, для подготовки еще одного сервера для кластера Docker Swarm вам потребуется установить на новый сервер только Docker Engine и выполнить команду docker swarm join
с соответствующим токеном.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав «Установка Docker Engine на Ubuntu Server».
Теперь нужно убедиться, что Docker Swarm установлен корректно. Для этого необходимо выполнить команду:
docker info

Судя по полученному сообщению, Docker Swarm установлен корректно.

Узнать о том, как установить Docker Compose на Ubuntu Server, вы можете, прочитав «Установка Docker Compose на Ubuntu Server».
1 Comment
Спасибо за новую статью.