Spring Boot Admin не обнаруживает службу после перезапуска
У меня есть среда с различными услугами. Все они развернуты и управляются образами Docker и Kubernetes. Я также использую spring-boot-admin
для того, чтобы контролировать их всех и spring-cloud-kubernetes
обнаруживать все услуги автоматически. Это мой файл свойств.
application.yml (в проекте SBA)
server:
port: ${admin-server.port:8086}
tomcat:
remote-ip-header: x-forwarded-for
protocol-header: x-forwarded-proto
spring:
application:
name: admin-server
security:
user:
name: ${spring-security.admin.username:****}
password: ${spring-security.admin.password:****}
boot:
admin:
discovery:
ignored-services: admin-server
notify:
mail:
enabled: ${admin-mail.enabled:true}
to: ${admin-mail.recipients:******}
from: ${admin-mail.from:******}
template: classpath:/template/status-changed.html
ignore-changes: OFFLINE:UP, DOWN:UP
slack:
webhook-url: ${admin-slack.webhook:*******}
ignore-changes: OFFLINE:UP, DOWN:UP
enabled: true
mail:
test-connection: false
host: smtpjc.*****
port: 25
properties:
mail:
smtp:
connectiontimeout: 5000
timeout: 3000
writetimeout: 5000
debug: ${admin-mail.debug:true}
Он отлично работает всякий раз, когда я перезапускаю проект SBA, он обнаруживает все службы. Моя проблема возникает, когда я перезапускаю отдельный проект, в SBA он отображается как OFFLINE и не меняет своего состояния.
Что мне не хватает?
2 ответа
Я нашел проблему и исправил ее так:
spring.cloud.kubernetes.reload.enabled: true
Я должен был добавить эту строку в файл конфигурации.
Я узнал, что мне пришлось использовать
fabric8
кубернетес-клиент.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-fabric8-all</artifactId>
</dependency>
Я использую эти текущие версии:
<spring-cloud.version>2020.0.2</spring-cloud.version>
<spring-cloud-kubernetes.version>2.0.2</spring-cloud-kubernetes.version>
<spring-boot-admin.version>2.4.1</spring-boot-admin.version>
В противном случае я следую инструкциям https://piotrminkowski.com/2020/02/18/spring-boot-admin-on-kubernetes/