Docker·57 питань

Що таке Docker Swarm і як розгорнути простий кластер контейнерів?

Відповідь

Docker Swarm є вбудованою в екосистему Docker системою оркестрації та кластеризації контейнерів. Вона дозволяє об'єднати кілька фізичних або віртуальних машин у єдиний віртуальний сервер, яким керує стандартний демон Docker. На відміну від складніших зовнішніх оркестраторів на кшталт Kubernetes, Swarm не вимагає встановлення громіздких сторонніх інструментів, має низький поріг входу і чудово підходить для невеликих і середніх проєктів, яким потрібне масштабування та висока доступність.

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

Для створення та запуску базового кластера Swarm необхідно виконати такі послідовні дії.

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

Використання вбудованого оркестратора дозволяє легко масштабувати навантаження на додаток, автоматично перезапускати впалі контейнери на живих нодах кластера та балансувати вхідний сетевий трафік між репликами без написання складного коду інфраструктури.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем