使用Spring Cloud Kubernetes,我如何获得运行实例的instanceId



我有一个用Spring Boot编写的微服务,并利用Spring Cloud Kubernetes在Kubernetes中运行,如下所示:

  • 一个Kubernetes服务(foo-service)
  • 位于服务后面的两个foo-service实例(pod),每个实例运行Spring Boot应用程序

我可以使用Spring Cloud KubernetesDiscoveryClient列出服务的所有实例,如下所示:

List<ServiceInstance> allInstances = discoveryClient.getInstances("foo-service")

我如何获得执行此代码的实例的instanceId ?

实例名Pod的名称,Pod的名称是一样的主机名。

例如使用

InetAddress.getLocalHost().getHostName()

我使用了类似但不同的方法来获取ip地址:

ServiceInstance myInstance = discoveryClient.getInstances(serviceId)
.find(instance -> {
instance.host == InetAddress.getLocalHost().hostAddress
})

适合我。

相关内容

  • 没有找到相关文章