В docker swarm сервис запушенный на ноде доступен только по адресу той ноды где запушен, почему?
Всем доброго дня, есть swarm кластер из трез нод, адреса нод= 10.10.10.2, 10.10.10.3, 10.10.10.4 когда например запускаю сервис nginx с репликой=3 то захожу по адресу 10.10.10.2:80 то nginx доступен если выключаю ноду для теста то на 10.10.10.2:80 nginx не доступен а доступен по адресу 10.10.10.3:80 и 10.10.10.4:80 не понятно почему так происходит, а если реплику сделаю=1 то она будет доступна по адресу той ноды где она запустилась это нормально ? если например я привяжу домен к одному из этих IP и та нода упадет то мне надо IP для домена поменять или как вообще ?
Вкратце, все верно. Ноду выключили - адрес ноды недоступен. Но контейнер все еще доступн через оставшиеся ноды, чтобы это разрулить ПЕРЕД нодами ставят балансер - HAProxy или nginx или что вы там еще хотите.
Изучайте. https://docs.docker.com/engine/swarm/ingress/