Що таке Docker Swarm і як розгорнути простий кластер контейнерів?
Docker Swarm є вбудованою в екосистему Docker системою оркестрації та кластеризації контейнерів. Вона дозволяє об'єднати кілька фізичних або віртуальних машин у єдиний віртуальний сервер, яким керує стандартний демон Docker. На відміну від складніших зовнішніх оркестраторів на кшталт Kubernetes, Swarm не вимагає встановлення громіздких сторонніх інструментів, має низький поріг входу і чудово підходить для невеликих і середніх проєктів, яким потрібне масштабування та висока доступність.
Архітектура кластера Swarm ділиться на два типи вузлів: керуючі вузли та робочі вузли. Керуючі вузли приймають команди адміністратора, розподіляють завдання зі створення контейнерів і підтримують актуальний стан кластера. Робочі вузли займаються безпосереднім запуском і підтриманням контейнерів у робочому стані. Взаємодія всередині кластера захищена за допомогою автоматичного шифрування TLS-трафіку.
Для створення та запуску базового кластера Swarm необхідно виконати такі послідовні дії.
Використання вбудованого оркестратора дозволяє легко масштабувати навантаження на додаток, автоматично перезапускати впалі контейнери на живих нодах кластера та балансувати вхідний сетевий трафік між репликами без написання складного коду інфраструктури.