1

我有一个提供不同服务的环境。它们都由 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 并且它不会改变其状态。

我错过了什么?

4

2 回答 2

1

我发现了这个问题并像这样修复它:

spring.cloud.kubernetes.reload.enabled: true

我应该将此行添加到配置文件中。

于 2019-05-20T08:15:15.650 回答
0

我发现,我必须使用fabric8kubernetes-client。

<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/的说明进行操作

于 2021-05-29T08:20:07.863 回答