Введение в Docker Swarm / Определение
Docker swarm - это один из инструментов, доступных внутри Docker-контейнеров, которые являются платформой / инструментом для оркестрации контейнеров с открытым исходным кодом. Он также называется родным инструментом кластеризации и планирования Docker. Когда размер контейнеров увеличивается, становится очень трудно управлять всем, что и играет роль Swarm. Это помогает разработчикам и администраторам управлять и устанавливать кластер узлов Docker в виде единого виртуального машина.
Понятия / ключевые термины, используемые для Docker Swarm
- Рой - Рой состоит из множества систем / хостов Docker, которые работают в режиме роя.
- Swarmkit - Swarmkit используется для реализации уровня оркестровки Докера.
- Задача - Задача состоит из команд и контейнера, которые должны выполняться внутри контейнера. Задачи распределяются менеджером роя по узлам.
- Узлы - Узел может быть определен как единое ядро Docker и которые участвуют в рое. Хорошее производственное ройное развертывание - это распределение распределенных док-узлов на множество машин.
- Служба - всякий раз, когда создается служба, она указывает контейнер, который следует использовать, и команды, которые должны выполняться внутри контейнера. Таким образом, сервис - это список задач, которые должны быть выполнены на рабочих или управляющих узлах.
- Узлы диспетчера. Задача узлов диспетчера заключается в отправке задач рабочим узлам. Узлы диспетчера также отвечают за выполнение других функций, таких как управление кластером и оркестровка.
- Рабочие узлы. Задача рабочего узла состоит в том, чтобы вводить задачи, поступающие с узла менеджера, и запускать их. Рабочий узел устанавливается с агентами, которые сообщают узлы работы, назначенные ему, узлам менеджера.
- Узлы лидера - Он служит лидером для выполнения задач, связанных с оркестровкой.
Что можно сделать с помощью Docker Swarm
Swarm очень полезен для администраторов и разработчиков в экосистеме Docker. Ниже приведены некоторые из задач, которые может выполнить докер:
- Может использоваться для масштабирования количества контейнеров.
- Для установления координации между контейнерами.
- Для распределения задач по кластеру контейнеров.
- Для управления жизненным циклом контейнеров, а также для регулярных проверок работоспособности.
- Для обслуживания выкатывания обновлений для программного обеспечения среди контейнеров.
Понимание Docker Swarm / Working
Ниже приведено описание работы Docker Swarm:
Работа узлов
Как мы уже видели, существует два типа узлов: менеджер и работник. Давайте посмотрим на работу обоих.
Задачи, которые обрабатываются узлами диспетчера: планирование служб, поддержание состояния кластера, а также выполнение конечных точек HTTP API. Рекомендуется запускать несколько узлов менеджера, потому что это поможет вам воспользоваться функциями отказоустойчивости роя.
Рабочие узлы запускают контейнеры, и для их работы требуется минимум 1 управляющий узел.
Работа служб
Единственная цель служб - развернуть образ приложения в роем Docker. Например, сервер БД, веб-сервер, HTTP-серверы являются примерами сервисов.
Процессы и сроки в обслуживании:
- Сбой задачи - всякий раз, когда задача терпит неудачу внутри роя докеров, обычно она не перезапускается. Таким образом, задача оркестратора состоит в том, чтобы удалить эту неудавшуюся задачу и заменить ее новой, соответствующей состоянию службы.
- Опция сервиса - всякий раз, когда сервис создается, мы всегда можем определить порт, к которому сервис может быть использован (для внешних пользователей), ограничения памяти и ЦП, политики обновления и т. Д.
- Служба ожидания - служба переходит в состояние ожидания, когда в настоящий момент в рое докеров нет доступных узлов для выполнения задачи.
Docker Swarm Filters
Док-рой имеет 5 фильтров:
- Сходство. Цель фильтра сродства состоит в том, чтобы гарантировать, что контейнеры работают на одном сетевом узле, и также определяет последовательность, в которой должны выполняться контейнеры.
- Порт - порт определяет выделенный ресурс. Когда контейнер работает на порте, который не свободен, контейнер переместится на другие доступные узлы.
- Ограничение - при создании узла мы можем назначить пары ключ-значение с помощью фильтра ограничений.
- Зависимость - при наличии зависимости между контейнерами фильтры зависимостей планируют их на том же узле.
- Состояние работоспособности. Если какой-либо из узлов не работает и не работает, этот фильтр не назначит ему контейнеры.
Некоторые команды Docker Swarm:
Цель | команда |
Создание Роя | Док рой инициация |
Вступление в Рой | присоединение к докеру
–Ken Token_number \ IP: порт |
Создание сервиса и присвоение ему имени | Докерская служба create - имя Edu |
Удаление Сервиса | Докер-сервис удалить Edu |
Служба обновления | обновление службы докера |
Мониторинг состояния узла | док-узел ls |
Преимущества и недостатки
Давайте теперь посмотрим на преимущества и недостатки Docker Swarm
Преимущества:
- Развертывание легко и режим роя по умолчанию поставляется с Docker Engine.
- Установка проста и быстра.
- Интеграция роя может быть легко достигнута с помощью Docker CLI и Docker compose
- Не требуется много опыта, и обучение легко.
Недостатки:
- Для масштабирования услуг требуется ручное вмешательство.
- Имеет ограниченную отказоустойчивость.
- Не более широкие функции доступны на данный момент.
- У него меньше сообщество по сравнению с другими доступными инструментами, такими как Kubernetes.
Вывод
В этой статье мы начали с общего обзора и определения роя Docker, а также увидели важные термины, используемые в технологии роя, которая является частью экосистемы. Затем мы попытались понять, как работает рой Docker, а также изучили пару команд Docker, которые используются в режиме роя.
Рекомендуемые статьи
Это было руководство к тому, что такое Docker Swarm? Здесь мы обсудили концепцию, команду, фильтры, использование и понимание Docker Swarm. Вы также можете просмотреть наши другие Предлагаемые статьи, чтобы узнать больше -
- Docker Интервью Вопросы
- Что такое Кассандра?
- Microservices Интервью Вопросы
- Что такое Дженкинс?