Я настроил клиент администрирования Spring Boot в Kubernetes и увеличил до 3 реплик, но когда я пытаюсь проверить экземпляры, сервер администратора показывает только один




вам нужно установить параметр в файле yml:
eureka.instance.instance-id: ${spring.cloud.client.ip-address}:${server.port}
Чтобы SBA (администратор Spring Boot) понял, что три экземпляра ваших служб различны, вам необходимо убедиться, что каждый из них зарегистрирован в SBA с использованием своего «внутреннего IP-адреса».
Это позволит SBA запрашивать работоспособность каждого экземпляра независимо, и в результате Spring создаст уникальный идентификатор экземпляра для каждого модуля.
Обратите внимание, что использование имени службы k8s для регистрации приведет к тому, что запросы работоспособности SBA будут распределяться между модулями службы с балансировкой нагрузки.
Для этого добавьте в свой application.yml следующее:
spring:
boot.admin.client:
url: http://<k8s-service-name-and-port>
instance:
name: <service-name>
service-base-url: http://${K8S_POD_IP}:8080
management-base-url: http://${K8S_POD_IP}:8081
auto-deregistration: true
Наличие:
K8S_POD_IP — это переменная среды с IP-адресом пода, который должен быть доступен из SBA — это адрес, который будет использоваться SBA для запроса состояния вашего экземпляра службы.spring.boot.admin.client.url — это URL-адрес, который будет использоваться пользовательским интерфейсом SBA при нажатии на экземпляр службы — этот URL-адрес должен указывать на службу k8s.spring.boot.admin.client.management-base-url — используется SBA для мониторинга работоспособности каждой службы, должно быть уникальным для каждого экземпляра и должно быть доступно из SBA.auto-deregistration на true всякий раз, когда вы развертываете обновление или масштабируете свою службу, вы будете получать уведомления о неработоспособных экземплярах — с этим параметром экземпляры будут исключены из SBA при завершении работы.
Саймон, я использую Eureka в своих проектах, у меня есть 3 реплики K8S на одном порту.