Установка Docker Swarm на Ubuntu Server
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить 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 с помощью команды:
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 и Docker Compose на Ubuntu Server”.
Теперь получим токен для присоединения нового сервера с ролью “Manager” к кластеру Docker Swarm с помощью команды:
docker swarm join-token manager
С помощью показанной на экране команды можно присоединить еще один сервер с ролью “Manager” в кластер Docker Swarm.
Обратите внимание, для подготовки еще одного сервера для кластера Docker Swarm вам потребуется установить на новый сервер только Docker Engine и выполнить команду docker swarm join с соответствующим токеном.
Теперь нужно убедиться, что Docker Swarm установлен корректно. Для этого необходимо выполнить команду:
docker info
Судя по полученному сообщению, Docker Swarm установлен корректно.
Эксклюзивы для подписчиков Patreon
Присоединяйтесь к моему Patreon и погрузитесь в мир Docker и DevOps. Здесь вас ждет эксклюзивный контент, разработанный специально для энтузиастов и профессионалов в области IT. Вашим наставником будет Владимир Михалев, опытный специалист, предлагающий ряд уровней членства от новичков до экспертов.
Что вы получите
🏆 Посты только для патронов: Полный доступ к глубоким статьям, которые раскрывают методы работы с Docker и DevOps, включая пошаговые инструкции, продвинутые советы и подробные анализы, недоступные широкой публике.
🏆 Ранний доступ: Получите возможность первыми узнавать о новых материалах и обучающих программах, опережая технологические тренды.
🏆 Приоритетная поддержка: Ваши вопросы и проблемы будут решены в первую очередь, обеспечивая индивидуальный подход и непосредственную помощь.
🏆 Влияние на будущий контент: Ваши предложения и отзывы напрямую влияют на выбор тем и создание учебных пособий, делая материалы максимально актуальными и полезными.
🏆 Признание и взаимодействие: Активные участники и поддерживающие пользователи получают благодарности в видео и на публичных трансляциях, подчеркивая вашу значимость для нашего сообщества.
🏆 Особые скидки: Наслаждайтесь скидками на курсы и предстоящие мероприятия, которые доступны исключительно для членов Patreon.
🏆 Возможности для нетворкинг: Общайтесь с другими IT-специалистами и энтузиастами в поддерживающей атмосфере, расширяя вашу профессиональную сеть и обмениваясь знаниями.
🏆 Искренняя благодарность и обновления: Личная благодарность за вашу поддержку, которая стимулирует создание нового контента и постоянное развитие.
Присоединяйтесь ко мне сейчас и начните свое путешествие по освоению Docker и DevOps с эксклюзивными материалами и поддерживающим сообществом!
Мои курсы
🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.
Мои услуги
💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!
Пополнить запасы моего кофе
💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Подпишись
⭐ Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub
Этот контент создан искусственным интеллектом?
Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.