Я новичок как в Docker, так и в Consul, и я пытаюсь понять, как контейнеризованные приложения могут использовать Consul для и реестров служб и KV-конфигураций ( "настройка" ).
Мое понимание заключалось в том, что я мог:
- Создайте образ, который запускает сервер Consul, что-то вроде this; затем
- Сдвиньте три из этих контейнеров Docker-Consul (образуя кластер/кворум) на
myvm01.example.com
(Ubuntu VM); затем - Рефакторинг моего приложения для использования Консула и создания образа Docker, который запускает мое приложение и агента Consul, с агентом, настроенным на присоединение к кворум 3 node при запуске. При запуске мое приложение использует локальный агент Consul для выгрузки всех его конфигураций, хранящихся в виде пар KV. Он также подключается к зарегистрированным/здоровым службам и использует локальный инструмент балансировки нагрузки, чтобы сбалансировать службы, с которыми он интегрируется.
- Запустите мои контейнеры приложений, скажем,
myvm02.example.com
(еще одна Ubuntu VM).
Итак, для начала, если это похоже на то, что я неправильно понимаю нормальное/правильное использование Docker и Consul (sans Registrator), начните с исправления!
Предполагая, что я более или менее корректен, я недавно наткнулся на Registrator и теперь еще более запутан. Регистратор, похоже, является посредником между вашими контейнерами приложений и вашим сервером Consul (или любым другим сервером).
После прочтения учебника Quickstart это похоже на то, что вы должны сделать:
- Разверните контейнеры кластеров/кворума Consul до
myvm01.example.com
, как раньше - Вместо того, чтобы "Dockerizing" мое приложение напрямую использовать Консул, я просто интегрирую его с Registrator
- Затем я где-то создаю контейнер регистратора и настраиваю его для интеграции с Consul
- Затем я развертываю контейнеры приложений. Они интегрируются с Регистратором, а Регистрант, в свою очередь, интегрируется с Консулом.
Мои проблемы:
- Я понимаю, что это правильно или от основания? Если да, то как?
- Что фактически достигается добавлением Регистратора. Не кажется (по крайней мере, нетренированному глазу) как нечто большее, чем слой косвенности между приложением и реестром службы.
- Смогу ли я использовать инструмент конфигурации Consul KV через регистратор?