Я недавно унаследовал микросервисную систему, которая работает в стеке Spring-Boot и Netflix в AWS ECS, я новичок в области Spring-Boot и NetFlix.Я пытаюсь перейти от использования статически определенных портов к использованию динамических портов, чтобы мы могли лучше использовать существующие машины, но у меня возникают проблемы с регистрацией микросервисов в Eureka.
Сервисывсе еще нормально запускается, когда они отмечены как отключенные в Spring Boot Admin.Когда я нажимаю на имя службы в Spring Boot Admin, я вижу следующие ссылки в правом верхнем углу
http://10.128.83.113:32915/
http://10.128.83.113:18080/actuator
http://10.128.83.113:18080/actuator/health
10.128.83.113
- это IP-адрес этого экземпляра EC2, который является частью моего кластера ECS, 32915
- это номер хоста, который используется внутри той же машины, а 18080
- это номер порта контейнера, с которым служба связывается внутри контейнера докера.
После прочтения беседы по адресу github.com Я устанавливаю параметр eureka.instance.non-secure-port
для HostPort, который, кажется, устанавливает порт на самой верхней из трех ссылок, и из чтения medium.com ссылка на github.com Я также настраиваю
eureka.instance.preferIpAddress=true
eureka.instance.ip-address=\${HOST_IP}
Это все работает нормально без трех вышеуказанных элементов конфигурации eureka, когда яиспользование режима сети хоста в ECS / docker и статически определенных портов, но для этого требуется больше экземпляров EC2 в кластере, чем необходимо.Когда я переключаюсь на использование динамических портов и режима мостовой сети (из-за динамических портов), я просто не могу заставить службу должным образом регистрироваться в Eureka, я думаю, что приближаюсь, но я не могу понять, чтоконфиг мне не хватает.Может кто-нибудь посоветовать, как решить эту проблему?Я подозреваю, что что-то регистрирует IP-адрес Docker-контейнера или номер порта Docker-контейнера (или обоих) в Eureka, но я не вижу, где в Eureka можно найти журналы для подтверждения / отклонения этого, и я не знаю, что другоеКонфиг, который я должен установить.
Микроустройства используют весеннюю загрузку версии 2.0.3.ECS составляет 1.20.3