spring-boot - 使用 Spring Cloud Kubernetes,如何获取正在运行的实例的 instanceId
问题描述
我有一个用 Spring Boot 编写的微服务,并利用在 Kubernetes 中运行的 Spring Cloud Kubernetes,如下所示:
- 一个 Kubernetes 服务 (
foo-service
) foo-service
位于服务后面的两个(pod)实例,每个实例都运行 Spring Boot 应用程序
我可以使用 Spring Cloud Kubernetes 列出该服务的所有实例,DiscoveryClient
如下所示:
List<ServiceInstance> allInstances = discoveryClient.getInstances("foo-service")
如何获取正在执行此代码的实例的 instanceId?
解决方案
实例名称是 Pod 的名称,Pod 的名称与主机名相同。
所以例如使用
InetAddress.getLocalHost().getHostName()
推荐阅读
- java - 无法导入“import androidx.fragment.app.testing.launchFragment”
- windows - 从 Windows 命令行中的另一个目录运行脚本
- r - 按多列的道具表分组
- python - 如何在硒中找到一个按钮?(Python)
- docker - Clickhouse && Docker 连接被拒绝
- powerbi - 在 BIN 中对收入进行分组,而不创建 bin 表?
- python - 在一个图中用指数方程拟合多个独立值
- perl - 从后到上读取日志文件 - perl
- c# - 如何使用 VSCode 在 Github 中发布组织仓库
- javascript - 反应本机 useState 不增加计数器