Как выполнить аварийное переключение и балансировку нагрузки с помощью Swarm

Мы без проблем используем докер с полутора лет с настройками «одиночного хоста». Но теперь мы хотим пойти дальше и использовать Docker Swarm (последняя версия).

Наша старая установка была простой: отдельные хосты с nginx в качестве обратного прокси и некоторая магия для обновления конфигураций и запроса сертификатов SSL для новых сервисов.

Чего я не понимаю: как настроить отказоустойчивость / высокую доступность с помощью Docker Swarm

Например:

  • 3 виртуальных машины все действуют как мастер + рабочий (я не знаю идеальной настройки, но нам нужно сэкономить деньги).

Теперь предположим, что GoDaddy с доменом, например myswarm.com, для этого домена должен быть установлен один внешний IP-адрес, я бы выбрал один из внешних IP-адресов виртуальной машины Swarms, и он должен работать.

Но что происходит, когда виртуальная машина, связанная с доменом, выходит из строя? Как справиться с этим сценарием с помощью Docker? Или мне нужно еще две виртуальные машины с HAProxy и несколько виртуальных IP-адресов, выходящих наружу?

1
задан 10 May 2017 в 08:13
1 ответ

IP-адрес должен быть назначен сетевому интерфейсу, доступному для операционной системы хоста. Все узлы в рое должны иметь доступ к диспетчеру по IP-адресу.

Поскольку другие узлы связываются с управляющим узлом по его IP-адресу, вы должны использовать фиксированный IP-адрес.

Вы можете запустить ifconfig в Linux или macOS, чтобы просмотреть список доступных сетевых интерфейсов.

Если вы используете Docker Machine, вы можете получить IP-адрес менеджера с помощью docker-machine ls или docker-machine ip - например, docker-machine ip manager1 .

Источник: https://docs.docker.com/engine/swarm/swarm-tutorial/#the- ip-address-of-the-manager-machine

Кроме того, руководство должно быть полезным для развертывания HA в Docker Swarm http://docs.master.dockerproject.org/swarm/multi-manager-setup/

3
ответ дан 3 December 2019 в 18:30

Теги

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