Мы без проблем пользуемся докером уже полтора года с настройками "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/