Основы Docker Swarm
Введение в Docker Swarm
Docker Swarm — это собственное решение для кластеризации и оркестрации контейнеров Docker. Оно позволяет разработчикам создавать и управлять кластером Docker-узлов, превращая несколько физических или виртуальных машин в единую мощную виртуальную систему для развертывания и управления контейнерами.
Ключевые понятия Docker Swarm
Docker Swarm вводит несколько критически важных понятий для оркестрации контейнеров:
| Понятие |
Описание |
| Режим Swarm |
Собственный режим кластеризации для Docker |
| Узел-менеджер |
Управляет и контролирует кластер Swarm |
| Рабочий узел |
Выполняет рабочие нагрузки контейнеров |
| Сервис |
Определяет контейнеризованное приложение, подлежащее развертыванию |
Обзор архитектуры
graph TD
A[Узел-менеджер] --> B[Рабочий узел 1]
A --> C[Рабочий узел 2]
A --> D[Рабочий узел 3]
Инициализация кластера Swarm
Для запуска кластера Docker Swarm используйте следующие команды на Ubuntu 22.04:
## Установка Docker
sudo apt-get update
sudo apt-get install docker.io
## Инициализация режима Swarm
docker swarm init
## Проверка статуса кластера
docker info | grep Swarm
Управление узлами
Для присоединения узлов к кластеру требуется токен присоединения, сгенерированный менеджером:
## На узле-менеджере: Генерация токена присоединения
## На рабочем узле: Присоединение к кластеру
Основы развертывания сервисов
Создайте и разверните простой сервис по всему кластеру:
## Развертывание реплицированного сервиса nginx
docker service create --replicas 3 --name web nginx
Эта команда создает три идентичных экземпляра контейнера nginx, распределенных по кластеру Swarm, демонстрируя основные возможности оркестрации контейнеров Docker Swarm.