Что такое Docker Swarm и как развернуть простой кластер контейнеров?
Docker Swarm представляет собой встроенную в экосистему Docker систему оркестрации и кластеризации контейнеров. Она позволяет объединить несколько физических или виртуальных машин в единый виртуальный сервер, которым управляет стандартный демон Docker. В отличие от более сложных внешних оркестраторов вроде Kubernetes, Swarm не требует установки громоздких сторонних инструментов, имеет низкий порог входа и отлично подходит для небольших и средних проектов, которым нужно масштабирование и высокая доступность.
Архитектура кластера Swarm делится на два типа узлов: управляющие узлы и рабочие узлы. Управляющие узлы принимают команды администратора, распределяют задачи по созданию контейнеров и поддерживают актуальное состояние кластера. Рабочие узлы занимаются непосредственным запуском и поддержкой контейнеров в рабочем состоянии. Взаимодействие внутри кластера защищено с помощью автоматического шифрования TLS-трафика.
Для создания и запуска базового кластера Swarm необходимо выполнить следующие последовательные действия.
Использование встроенного оркестратора позволяет легко масштабировать нагрузку на приложение, автоматически перезапускать упавшие контейнеры на живых ногах кластера и балансировать входящий сетевой трафик между репликами без написания сложного кода инфраструктуры.