【发布时间】:2020-09-23 13:27:00
【问题描述】:
我们有 Kubernetes 集群,其中每个服务运行 3 个 pod。 我们有一个用例,我希望每个 pod 都知道其他 pod 的 ip。
For Example:
P1 --> this pod should know ip of itself, p2, p3 pod ip's
P2 --> this pod should know ip of itself, p1, p3 pod ip's
p3 --> this pod should know ip of itself, p2, p3 pod ip's
我在 google 上找到了这个,但看起来我们只获取 pod 本身的 IP,它不会提供其他两个 pod 运行的 ip。
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
有没有办法在我的 java 代码中获取这些信息?
【问题讨论】:
-
必须询问 Kubernetes API 或将您的部署转换为 StatefulSet。 Kubernetes getting sibling-pod IP/properties from the same deployment/replicaset 极其相似; Message-passing between all pods in a replica set 有更具体的建议。
-
为什么一个 POD 需要知道其他 POD 的 IP?
-
是的,“我们有一个用例,我希望每个 pod 都知道其他 pod 的 ip”,你能解释一下为什么需要这样做吗? IP地址会改变,例如在部署或重新安排期间。
-
我们有 3 个 pod 正在运行,我们希望在不重启应用程序的情况下动态更改日志级别。所以我们有一个 Spring Boot 应用程序,将服务名称(svc)名称作为输入,并使用此名称将找到 pod ip 并使用带有 ip 地址的 call rest 控制器对日志级别进行更改
标签: java spring spring-boot kubernetes