Назад | Перейти на главную страницу

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

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

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

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

Например:

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

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

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

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

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

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

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

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