【发布时间】:2018-08-24 06:22:18
【问题描述】:
我正在 Kubernetes 上部署一个 Kafka Streams 应用程序,复制为多个 pod。这个 pod 被暴露为 Kubernetes 服务,所以我有一个公共入口点来负载平衡流量:myapp:8080
关键是我想运行一个可以远程的交互式查询,所以我根据documentation进行了设置
Web 层由运行在 8080 端口上的 Spring Boot 应用程序提供。
我的问题是如何动态配置 application.server 参数,每个 pod 都有一个唯一的端点。
更新:
我想我需要用分配给每个 pod 的 kubernetes 端点的值来配置 application.server:
$>kubectl get ep
NAME ENDPOINTS AGE
myapp 10.8.2.85:8080,10.8.2.88:8080 10d
- Pod1 ->
application.server= 10.8.2.85:8080 - Pod2 ->
application.server= 10.8.2.88:8080
但是打印应用程序的System.getEnv()我只有kubernetes服务的ip和端口,没有分配的pod端点:
MYAPP_SERVICE_PORT=8080
MYAPP_SERVICE_HOST=10.11.248.5
...
那么如何获取 pod 的 kubernetes 端点呢?
【问题讨论】:
标签: kubernetes apache-kafka apache-kafka-streams