Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Docker Swarm на Ubuntu Server.

Docker Swarm - это инструмент кластеризации для Docker, преобразующий набор серверов Docker в один кластер. Docker Swarm обеспечивает доступность и высокую производительность работы, распределяя ее по серверам Docker внутри кластера.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.

Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.

Также на сервере должен быть установлен Docker Engine.

Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.

Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора 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 на Ubuntu Server

Активируем Docker Swarm с помощью команды:

docker swarm init --advertise-addr 10.170.18.13

Установка Docker Swarm на Ubuntu Server

Обратите внимание, 10.170.18.13 - IP-адрес моего сервера. Соответственно, вам необходимо указать IP-адрес вашего сервера.

Docker Swarm активирован.

С помощью показанной на экране команды можно присоединить еще один сервер с ролью “Worker” в кластер Docker Swarm.

Обратите внимание, для подготовки еще одного сервера для кластера Docker Swarm вам потребуется установить на новый сервер только Docker Engine и выполнить команду docker swarm join с соответствующим токеном.

Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.

Теперь получим токен для присоединения нового сервера с ролью “Manager” к кластеру Docker Swarm с помощью команды:

docker swarm join-token manager

Установка Docker Swarm на Ubuntu Server

С помощью показанной на экране команды можно присоединить еще один сервер с ролью “Manager” в кластер Docker Swarm.

Обратите внимание, для подготовки еще одного сервера для кластера Docker Swarm вам потребуется установить на новый сервер только Docker Engine и выполнить команду docker swarm join с соответствующим токеном.

Теперь нужно убедиться, что Docker Swarm установлен корректно. Для этого необходимо выполнить команду:

docker info

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

Установка Docker Swarm на Ubuntu Server

Мои услуги

💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!

Пополнить запасы кофе автора

💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi

Владимир Михалев
Я - Владимир Михалев, Капитан Docker, но друзья могут называть меня Вальдемарыч.

DevOps комьюнити

Привет! 👋 Если у тебя есть вопросы по установке или настройке, то задайте их мне и другим ИТ-экспертам нашего сообщества: