Docker Swarm, також відомий як движок Docker в режимі рій – це новий інструмент кластеризації та оркестрування контейнерів Docker, який використовується для управління групою хокерів Docker.


У цій статті ми представляємо Докер у Докер 1.12. Це дозволяє додавати та віднімати контейнер у процесі обчислення. Є два основні компоненти Docker Swarm:

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

Робочий вузол: Використовується для виконання контейнера кластера.

У цьому підручнику ми розберемося з деталями щодо встановлення та налаштування режиму Docker Swarm на CentOS 7. Для цієї статті ми будемо використовувати три CentOS 7 для встановлення та запуску докерного двигуна. З них два сервери будуть діяти як Worker node або Docker Engine, а решта – менеджер

Попередні реквізити

У цьому випадку нам знадобляться наступні:

  • Місцева машина, встановлена ​​разом із Docker. Машина може працювати на Windows, Linux або macOS.
  • Три сервери з CentOS 7 повністю встановлені. Один сервер буде вузлом менеджера, а два інших сервери – вузлом Worker.
  • Ми будемо використовувати таку IP-адресу: 172.168.0.101 для вузла менеджера, 172.168.0.102 для робочого вузла1 та 172.168.0.103 для робочого вузла2.

Перегляньте ці 3 найкращі послуги VPS:

А2 хостинг

Стартова ціна:
$ 5,00


Надійність
9.3


Ціноутворення
9,0


Користувач
9.3


Підтримка
9.3


Особливості
9.3

Прочитайте відгуки

Відвідайте хостинг A2

ScalaHosting

Стартова ціна:
$ 12,00


Надійність
9.4


Ціноутворення
9.5


Користувач
9.5


Підтримка
9.5


Особливості
9.4

Прочитайте відгуки

Відвідайте ScalaHosting

Хостингер

Стартова ціна:
3,95 дол


Надійність
9.3


Ціноутворення
9.3


Користувач
9.4


Підтримка
9.4


Особливості
9.2

Прочитайте відгуки

Відвідайте хостинг

Увійдіть до https://ecs.console.aliyun.com/?spm=a3c0i.o25424en.a3.13.388d499ep38szx та оберіть CentOS 7. Після входу у систему запустіть команду нижче, щоб переконатися, що система оновлена останні пакети:

yum оновлення -y

Почати

Перш ніж розпочати процес, переконайтеся, що ви налаштували / etc / hosts файл на кожному вузлі, щоб було простіше спілкуватися один з одним за допомогою імен хостів.

Використовуйте команду нижче для оновлення хост-файлу:

172.168.0.101dkmanager.example.com dkmanager

172.168.0.102 workernode1.example.com workernode1

172.168.0.103 workernode2.example.com workernode2

Збережіть файл, коли ви закінчите.

Тепер налаштуйте ім’я хоста кожного вузла залежно від файлу хостів.

Виконайте команду нижче для кожного вузла.

Вузол менеджера:

hostnamectl set-hostname managernode

Робочий вузол1:

hostnamectl set-hostname workernode1

Робочий вузол2:

hostnamectl set-hostname workernode2

Крок 1: Встановлення Docker Engine

Тепер встановіть версію Docker на кожен вузол. Встановіть систему сховищ докера та запустіть команду нижче для всіх імен хостів.

Зробіть те саме для двох серверів вузлів Worker.

Крок 2: Налаштування брандмауера на кожному вузлі

Наступним кроком є ​​відкриття портів на брандмауері, щоб переконатися, що кластер роя працює належним чином.

Продовжуйте та виконайте команду нижче на всіх вузлах:

Перезапустіть послугу докера:

Відкрийте порти брандмауера нижче на кожному робочому вузлі, а потім перезапустіть службу докера:

Крок 3: Запустіть рой чи кластер

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

docker swarm init – рекламувати-addr 192.168.0.101

Переконайтеся, що ви бачите вихідний результат нижче:

Маркер, що генерується результатом вище, допомагає з’єднати вузол менеджера та робочі вузли

Перевірте статус менеджера за допомогою команди нижче:

інформація про докер

Вихід повинен виглядати так:

Контейнери: 0
Пробіг: 0
Призупинено: 0
Зупинено: 0
Зображення: 0
Версія сервера: 17.12.0-ce
Драйвер для зберігання: devicemapper
Назва басейну: docker-253: 0-618740-пул
Блок басейну: 65,54 кБ
Розмір базового пристрою: 10,74 ГБ
Резервне копіювання файлової системи: xfs
Підтримується синхронізація Udev: вірно
Файл даних: / dev / loop0
Файл метаданих: / dev / loop1
Файл циклу даних: / var / lib / docker / devicemapper / devicemapper / data
Файл циклу метаданих: / var / lib / docker / devicemapper / devicemapper / метадані
Використовуваний простір даних: 11,8 МБ
Простір даних Всього: 107,4 Гб
Доступний простір даних: 3.817 Гб
Використаний простір метаданих: 581,6 КБ
Простір метаданих Всього: 2.147 Гб
Простір метаданих: 2.147 Гб
Мінімальний вільний простір у басейні: 10,74 Гб
Відкладене видалення увімкнено: вірно
Відкладене видалення увімкнено: вірно
Відкладений кількість видалених пристроїв: 0
Версія бібліотеки: 1.02.140-RHEL7 (2017-05-03)
Драйвер ведення журналу: json-файл
Драйвер Cgroup: cgroupfs
Плагіни:
Обсяг: місцевий
Мережа: мостовий настрій macvlan null
Журнал: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Рой: активний
NodeID: viwovkb0bk0kxlk98r78apopo
Є менеджер: вірно
КластерID: ttauawqrc8mmd0feluhcr1b0d
Менеджери: 1
Вузли: 1
Оркестрація:
Ліміт збереження історії завдань: 5
Пліт:
Інтервал знімка: 10000
Кількість старих знімків, які потрібно зберегти: 0
Серцебиття: 1
Виборчий абонент: 3
Диспетчер:
Період серцебиття: 5 секунд
Конфігурація CA:
Термін придатності: 3 місяці
Сила Поворот: 0
Менеджери автоблокування: помилково
Ротація корінців триває: помилково
Адреса вузла: 192.168.0.102
Адреса менеджера:
192.168.0.102:2377
Виконання: runc
Виконання за замовчуванням: runc
Ініт Бінар: докер-ініт
версія контейнера: 89623f28b87a6004d4b785663257362d1658a729
версія runc: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init версія: 949e6fa
Параметри безпеки:
seccomp
Профіль: за замовчуванням
Версія ядра: 3.10.0-693.11.1.el7.x86_64
Операційна система: CentOS Linux 7 (Core)
OSType: linux
Архітектура: x86_64
ЦП: 1
Загальна пам’ять: 1.102GiB
Назва: centOS-7
ID: DN4N: BHHJ: 6DJ7: SZPG: FJJC: XP6T: 23R4: CESK: E5PO: SJ6B: BOST: HZQ5
Docker Root Dir: / var / lib / docker
Режим налагодження (клієнт): хибний
Режим налагодження (сервер): false
Реєстр: https://index.docker.io/v1/
Мітки:
Експериментальний: хибний
Небезпечні реєстри:
127.0.0.0/8
Live Restore увімкнено: false

Ви повинні побачити весь список вузлів, наявних у вашому кластері, за допомогою команди нижче:

докер-вузол ls

Вихід повинен бути таким:

Крок 4: Додайте вузли Worker до вузла Manager

Додайте вузли Worker до служби roarm докера за допомогою команди нижче:

докер рій приєднатися –виключений SWMTKN-1
3793hvb71g0a6ubkgq8zgk9w99hlusajtmj5aqr3n2wrhzzf8z-1s38lymnir13hhso1qxt5pqru 192.168.0.101:2377

Вихід повинен бути:

Щоб перевірити стан вузлів, запустіть команду нижче:

докер-вузол ls

Якщо процес успішний, слід отримати результат, показаний нижче:

Якщо ви хочете отримати втрачений маркер приєднання, запустіть команду нижче:

докер рой менеджер приєднання-маркер -q

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

Крок 5: Налаштування служби в режимі Рой

Тепер запустіть послугу в режимі Swarm. У цьому випадку ми запустимо веб-сервіс у режимі Docker Swarm за допомогою трьох контейнерів.

Виконайте команду нижче лише з диспетчера Docker:

docker service create -p 80:80 –name webservice –replicas 3 httpd

Вихід повинен виглядати так:

Щоб перевірити стан вашої послуги, запустіть команду нижче:

послуга докера ls

Вихід буде:

З вищенаведеним висновком контейнери успішно розгортаються через вузли кластера. Тепер увійти на веб-сторінку простіше з будь-якого вузла за допомогою наступних адрес веб-браузера.

http: // 172.168. 0,101
http: //172.168. 0.102
http: //172.168. 0.103

Крок 6: Тестування самолікування контейнера

Режим Docker Swarm містить унікальні функції, такі як контейнерне самолікування. У випадку, якщо контейнер не працює, менеджер гарантує, що контейнери автоматично перезавантажуються на цьому конкретному вузлі.

Щоб перевірити, чи працює процес, видаліть контейнер з workernode2 і з’ясуйте, запускається чи ні новий контейнер.

Виконайте команду нижче, щоб перелічити ідентифікатор контейнера на Workernode2:

докер пс

Вихід повинен бути таким:

Тепер запустіть команду нижче, щоб видалити контейнер 9b01b0a55cb7:

docker rm 9b01b0a55cb7 -f

Тепер перевірте, чи розгорнуто новий контейнер з вузла менеджера:

докер послуги ps webservice

На даний момент ви можете зрозуміти, що один контейнер вийшов з ладу і негайно інший контейнер був запущений на workernode2:

Крок 7: Масштабування контейнерів вгору та вниз для послуги

У кластері Docker можна масштабувати контейнери вгору та вниз. У цьому випадку спробуємо масштабувати контейнери до 5 для послуги.

[root @ dkmanager ~] # докер-сервіс шкала веб-сервера = 5
веб-сервер масштабується до 5
[root @ dkmanager ~] #

Знову перевірте стан служби за допомогою команди нижче:

Тепер спробуємо масштабувати контейнер до 2 для послуги:

[root @ dkmanager ~] # докер-сервіс шкала веб-сервера = 2
веб-сервер масштабується до 2
[root @ dkmanager ~] #

Перевірте, чи процес виконаний за допомогою команди нижче:

Тепер у вас повинен бути повністю налаштований кластер Docker Swarm на CentOS7.

Висновок

Там у вас є. Ось так просто налаштувати Docker Swarm за допомогою нового режиму Swarm та двигуна Docker. Важливо зауважити, що після налаштування переконайтеся, що ви захищаєте сервери, надаючи додатковий рівень безпеки. Функція безпеки з брандмауером та можливостями моніторингу – хороший початок.

Ознайомтеся з трьома найкращими сервісами хостингових послуг:

А2 хостинг

Стартова ціна:
99,59 дол


Надійність
9.3


Ціноутворення
9,0


Користувач
9.3


Підтримка
9.3


Особливості
9.3

Прочитайте відгуки

Відвідайте хостинг A2

FastComet

Стартова ціна:
139,00 дол


Надійність
9.7


Ціноутворення
9.5


Користувач
9.7


Підтримка
9.7


Особливості
9.6

Прочитайте відгуки

Відвідайте FastComet

Господарі

Стартова ціна:
$ 99,00


Надійність
9.3


Ціноутворення
9.2


Користувач
9.2


Підтримка
9.3


Особливості
9.2

Прочитайте відгуки

Відвідайте Hostwinds

Пов’язані статті “Як”

  • Як розгорнути контейнери Docker за допомогою тепла OpenStack
    експерт
  • Як встановити Django на CentOS 7 VPS або виділений сервер
    проміжний
  • Як налаштувати кластер кластера Docker Swarm на Ubuntu 16.04 VPS або виділений сервер
    експерт
  • Встановити & Налаштуйте веб-сервер Caddy на CentOS 7 VPS
    проміжний
  • Як налаштувати SSH на Ubuntu 16.04 VPS або на виділеному сервері
    проміжний
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me