Вступ до докерського рою / визначення

Докерний рій - це один із інструментів, доступних всередині контейнерів Docker, які є платформою / інструментом для оркестрування контейнерів з відкритим кодом. Його також називають нативним інструментом кластеризації та планування Docker. Коли розмір контейнерів збільшується, керувати усім там стає дуже важко, саме там надходить роль Swarm. Це допомагає розробникам та адміністраторам керувати та встановлювати кластер вузлів Docker у вигляді єдиного віртуального машина.

Поняття / ключові терміни, що використовуються для Docker Swarm

  • Рій - рій складається з багатьох систем / хостів, які працюють у режимі рій.
  • Swarmkit - Swarmkit використовується для реалізації шару оркестрації Докера.
  • Завдання - завдання складається з команд і контейнера, який повинен бути запущений всередині контейнера. Завдання розпорядником рій розподіляється по вузлах.
  • Вузли - Вузол можна визначити як єдиний Докер-двигун, який бере участь у рої. Хороше розгортання виробничого рою - це те, що розподілені докерні вузли поширюються на багатьох машинах.
  • Сервіс - Щоразу, коли служба створена, вона вказує контейнер, який слід використовувати, та команди, які слід виконувати всередині контейнера. Таким чином, сервіс - це перелік завдань, які слід виконати на робочому чи менеджерському вузлах.
  • Менеджери вузлів - завдання вузлів менеджера полягає в тому, щоб відправляти завдання на вузли працівника. Вузли менеджера також відповідають за виконання інших функцій, таких як управління кластером та оркестровка.
  • Робочі вузли - Завдання робочого вузла полягає в тому, щоб вводити завдання, що надходять від вузла менеджера, і виконувати їх. Робочий вузол встановлюється з агентами, які повідомляють одиниці роботи, призначені йому керуючими вузлами.
  • Вузли лідерів - він служить лідером для виконання завдань, пов'язаних з оркестром.

Що можна зробити, використовуючи Docker Swarm

Swarm дуже корисний для адміністраторів та розробників в екосистемі Docker. Нижче наведено деякі завдання, які докер може досягти:

  • З його допомогою можна масштабувати кількість контейнерів.
  • Для встановлення координації між контейнерами.
  • Для виділення завдань кластеру контейнерів.
  • Для управління життєвим циклом контейнерів, а також для регулярних перевірок здоров’я.
  • З метою розгортання оновлень програмного забезпечення серед контейнерів.

Розуміння Докерського рою / Робота

Нижче наводиться робота рою докера, який є наступним:

Робота вузлів

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

Завданнями, якими керуються вузли менеджера, є - планування служб, підтримка стану кластера, а також виконання кінцевих точок API HTTP. Доцільно запустити кілька вузлів менеджера, оскільки це допоможе вам скористатися функціями відмови від рій.

Робочі вузли запускають контейнери, і для його функціонування потрібно як мінімум 1 вузол менеджера.

Робота з послугами

Єдиною метою служб є розгортання зображення програми до рою Докера. Наприклад, сервер баз даних, веб-сервер, сервери HTTP - приклади служб.

Процеси та терміни обслуговування:

  • Невдача завдання - кожного разу, коли завдання провалюється в докері, зазвичай його не перезапускають. Таким чином, завдання оркестратора полягає в тому, щоб видалити цю невдалу задачу та замінити її новою, що відповідає стану служби.
  • Варіант послуги - Щоразу, коли служба створена, ми завжди можемо визначити порт, до якого послуга може використовуватися (для зовнішніх користувачів), можна застосовувати обмеження пам'яті та процесора, визначати політику оновлення тощо.
  • Сервіс у стані очікування - Служба переходить у стан очікування, коли наразі немає доступних вузлів у рої докера для виконання завдання.

Докер ройові фільтри

Докерний рій має 5 фільтрів:

  • Спорідненість - Мета фільтра спорідненості полягає у тому, щоб забезпечити, що контейнери працюють на одному мережевому вузлі, а також він визначає послідовність, в якій контейнери повинні виконуватись.
  • Порт - Порт визначає виділений ресурс. Коли контейнер працює на не вільному порту, контейнер переміститься на інші доступні вузли.
  • Обмеження - Коли створюється вузол, ми можемо призначити пари ключ-значення за допомогою фільтра обмежень.
  • Залежність - кожного разу, коли між контейнерами є залежність, фільтри залежностей планують розміщувати їх на одному вузлі.
  • Здоров'я - Якщо будь-який з вузлів не працює і не працює, цей фільтр не призначить на ньому жодних контейнерів.

Деякі команди Docker Swarm:

ПризначенняКомандування
Створення РоюДокер рій ініт
Приєднання до роюдокер рій приєднатися \

–Визначений номер Token_Number \

IP: Порт

Створення сервісу та найменування йогостворення докер-сервісу - ім’я Edu
Видалення послугидокер послугу видалити Еду
Служба оновленняоновлення служби докер
Моніторинг стану вузладокер-вузол ls

Переваги і недоліки

Розглянемо тепер переваги та недоліки докерного рою

Переваги:

  • Розгортання просте, а режим рій за замовчуванням поставляється з Docker Engine.
  • Установка проста та швидка.
  • Інтеграцію рою можна легко досягти за допомогою Docker CLI та Docker compose
  • Не потрібно багато досвіду, і навчання легко.

Недоліки:

  • Для масштабування послуг необхідне ручне втручання.
  • Він має обмежену відмовність.
  • Зараз не доступні більш широкі функції.
  • Він має меншу спільноту порівняно з іншими інструментами для оркестрування, такими як Kubernetes.

Висновок

У цій статті ми почали з основного огляду та визначення рою Докера, а також ми побачили важливі терміни, що використовуються в технології рій, що є частиною екосистеми. Тоді ми спробували зрозуміти, що працює за роєм Докера, а також вивчили пару команд Докера, які використовуються в режимі рій.

Рекомендовані статті

Це було керівництвом щодо того, що таке Docker Swarm ?. Тут ми обговорили концепцію, командування, фільтри, використання та розуміння Docker Swarm. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Питання для інтерв'ю Докер
  2. Що таке Кассандра?
  3. Питання для інтерв'ю з мікросервісами
  4. Що таке Дженкінс?