WenDev / spring-boot-istio-demo

使用Spring Boot+gRPC构建微服务并部署到Istio的示例项目。
134 stars 62 forks source link

client yml server-port写死? #1

Closed biubiue closed 3 years ago

biubiue commented 4 years ago

服务发现呢

WenDev commented 4 years ago

服务发现呢

如果不想写死server-port,想利用k8s自身的服务发现机制找到gRPC服务端的端口的话,可以在dockerfile中这样定义:

ENTRYPOINT java -jar /spring-boot-istio-client-0.0.1-SNAPSHOT.jar \
 --server-host=$GRPC_SERVER_HOST \
 --server-port=$SPRING_BOOT_ISTIO_SERVER_SERVICE_PORT_GRPC

这样写的原因是:kubelet会在每个活跃的pod中添加一组环境变量,记录了Service的IP地址和端口等信息,而SPRING_BOOT_ISTIO_SERVER_SERVICE_PORT_GRPC这一条环境变量记录的就是gRPC服务端的端口。

参考: https://kubernetes.io/zh/docs/concepts/services-networking/service/#discovering-services https://stackoverflow.com/questions/48886837/how-to-make-use-of-kubernetes-port-names

希望能帮到您。