Docker·57 вопросов

Что такое Docker Swarm и как развернуть простой кластер контейнеров?

Ответ

Docker Swarm представляет собой встроенную в экосистему Docker систему оркестрации и кластеризации контейнеров. Она позволяет объединить несколько физических или виртуальных машин в единый виртуальный сервер, которым управляет стандартный демон Docker. В отличие от более сложных внешних оркестраторов вроде Kubernetes, Swarm не требует установки громоздких сторонних инструментов, имеет низкий порог входа и отлично подходит для небольших и средних проектов, которым нужно масштабирование и высокая доступность.

Архитектура кластера Swarm делится на два типа узлов: управляющие узлы и рабочие узлы. Управляющие узлы принимают команды администратора, распределяют задачи по созданию контейнеров и поддерживают актуальное состояние кластера. Рабочие узлы занимаются непосредственным запуском и поддержкой контейнеров в рабочем состоянии. Взаимодействие внутри кластера защищено с помощью автоматического шифрования TLS-трафика.

Для создания и запуска базового кластера Swarm необходимо выполнить следующие последовательные действия.

Инициализируйте первый управляющий узел на главной машине с помощью команды docker swarm init.
Скопируйте сгенерированную команду подключения с токеном и выполните её на других машинах, которые должны стать рабочими узлами.
Опишите конфигурацию вашего сервиса или стека приложений в специальном файле развертывания с использованием синтаксиса compose.
Запустите распределенное приложение в кластере с помощью команды docker stack deploy, указав желаемое количество копий реплик для каждого сервиса.

Использование встроенного оркестратора позволяет легко масштабировать нагрузку на приложение, автоматически перезапускать упавшие контейнеры на живых ногах кластера и балансировать входящий сетевой трафик между репликами без написания сложного кода инфраструктуры.

Полезен ли этот ответ?

Другие вопросы этой темы

Связанные вопросы из других тем