Есть ли еще причина использовать Consul с современным («интегрированным») Docker Swarm ?

В прошлом я делал небольшой Docker Swarm, и он был довольно несложным - создать Swarm Manager на одном узле, создать Swarm Workers на еще двух узлах, придерживаться одного Manager. Я хотел бы узнать больше о Swarm, поэтому я слежу за серией видео «Docker Swarm: Native Docker Clustering» Найджела Полтона на Pluralsight.

Однако эти видеоролики намного сложнее, чем мои два года опыта в Swarm. назад, возможно потому, что они работают на старой («Автономной») версии Swarm. Я хотел бы задать уточняющий вопрос, чтобы убедиться, что материал, который я сейчас изучаю, слишком устарел, чтобы быть стоящим. (Я опишу ниже, что находится в видеокурсе, чтобы не было необходимости быть знакомым с этим, чтобы ответить на вопрос).

Видеоряд, которому сейчас четыре года, показывает, как:

  • ] Установите службу обнаружения высокой доступности (поддерживаются Consul, Etcd и ZooKeeper, автор выбирает Consul). Он использует образ progrium / consul , который на сегодняшний день не обновлялся пять лет.
  • Установите три узла Swarm Manager на серверах Consul.
  • Установите три узла Swarm Worker, на которых Также установлены клиенты Consul

. Автор признает, что все это довольно сложно, и намекает, что во время съемки видео ядро ​​Docker может упростить этот процесс в будущем. Он говорит (Создание кластера Swarm -> Установка службы обнаружения HA -> 5:39):

Я бы даже поставил там дикий пант, что в какой-то момент Swarm может даже не нуждаться в нас, чтобы делать что-либо из этого. открытие бэкэнда ручной работы. Просто потому, что это немного больно, и если я знаю одну вещь о ребятах из Docker, так это то, что они все одержимы тем, чтобы дать нам этот плавный, легкий опыт работы с Docker, чего в этой части нет. момент.

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

Вы просматриваете документацию по устаревшей автономной версии Swarm. В этих разделах описывается автономный Docker Swarm. В Docker 1.12 и выше режим Swarm интегрирован с Docker Engine. Большинству пользователей следует использовать интегрированный режим Swarm.

По общему признанию, в моем предыдущем опыте работы со Swarm использовался только один менеджер, но насколько я понимаю, можно добавить менеджера к существующему плоту, просто используя токен соединения docker swarm .

Итак, на мой вопрос: эта эволюция функции Docker Swarm заставляет меня задаться вопросом, предлагает ли Consul какую-либо ценность для управления самим Swarm. Могу ли я это сделать? Нужно ли мне? Есть ли другие функции, которые он предлагает по сравнению с интегрированной системой консенсуса плота? Этот учебный материал теперь вреден?

(Кроме того: я смотрел пару видео от этого автора, и они отличные - если этот устарел, то это вне его контроля. материал нуждается в переработке, это должны будут организовать владельцы курсов / платформ)

.
-1
задан 10 April 2020 в 21:28
2 ответа

Есть два варианта Docker Swarm. Версия Classic / Legacy, которая может использовать внешнее хранилище ключей / значений, например Consul. Маловероятно, что он получит какие-либо обновления в будущем, и репозиторий недавно был переименован в "classicswarm", чтобы помочь уменьшить некоторую путаницу.

Интегрированная версия - это режим Swarm, основанный на проекте swarmkit. Это не требует какого-либо внешнего хранилища ключей / значений, и попытка настроить его в движке докеров для наложения сети не удастся, когда вы включите режим Swarm, поскольку он контролирует базу данных ключ / значение изнутри с помощью собственного решения на основе рафта.

Следовательно нет необходимости использовать Consul, и любое руководство, которое не начинается с docker swarm init , следует игнорировать как устаревшее.

2
ответ дан 4 January 2021 в 10:22

Мне очень жаль этой путаницы ... Я поищу, чтобы это старое видео было удалено или обновлено.

Для Swarm вы должны посмотреть соответствующие разделы в:

  • Начало работы с Docker
  • Docker Deep Dive

Поскольку оба они используют более современный Swarm Mode , который интегрирован в Docker Engine и не требует какого-либо старого безумия консула.

Если у вас возникнут вопросы, напишите мне на @nigelpoulton.

2
ответ дан 4 January 2021 в 10:22

Теги

Похожие вопросы