Введение в 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. Вы также можете просмотреть наши другие Предлагаемые статьи, чтобы узнать больше -

  1. Docker Интервью Вопросы
  2. Что такое Кассандра?
  3. Microservices Интервью Вопросы
  4. Что такое Дженкинс?