Несколько публичных IP-адресов для одного Nginx?
Я запускаю несколько экземпляров MySQL с помощью docker. Я планировал использовать nginx в качестве обратного прокси-сервера, я хочу назначить публичный IP каждому экземпляру, чтобы я мог сопоставить публичный ip с моей сетью docker, возможно ли это ?
2 ответа:
Вы можете использовать consul с частью реестра, так как Consul предлагает вам DNS-сервер для всех зарегистрированных экземпляров: https://www.consul.io/docs/agent/dns.html
Более или менее это означает, что экземпляры docker регистрируются в consul, и consul может разрешить их также для внешних служб. Это, однако, потребует от вас иметь более одного публичного IP.
Если вы хотите только один публичный ip, вы, очевидно, хотите сбалансировать нагрузку mysql, так как TCP-соединения не могут быть " маршрутизированы" по пути / домену. Тем не менее, вы можете использовать consul как service-discovery и Tiller + consul backend для генерации конфигурации nginx для восходящего потока, перечисляя все текущие доступные серверы