繁体   English   中英

Spring 启动微服务正在以 pod 名称作为 Kubernetes 集群中的主机名注册到 Eureka - docker 桌面

[英]Spring boot microservices are getting registered to Eureka with the pod name as the hostname in the Kubernetes cluster - docker desktop

当 Zull API 网关尝试将请求转发到服务时,微服务将使用 pod 名称作为主机名注册到 Eureka,这会导致 UnknownHostException。

docker-compose 的完整设置工作正常,当我尝试使用 Kubernetes 时,问题正在发生。

例如,订单微服务以“ oc-order-6b64576f4b-7gp85 ”的 pod 名称运行,订单微服务以“ oc-order-6b64576f4b-7gp85 ”作为主机名注册到 Eureka。 这是导致

java.net.UnknownHostException: oc-order-6b64576f4b-7gp85: Name does not resolve

我只运行每个微服务的一个实例作为 POC 和一个 Eureka 服务器实例。 如何修复,微服务如何使用正确的主机名自行注册它们。

我想使用 Eureka 作为发现服务,因为它与 spring 引导很好地集成,我不想为 Kubernetes 部署进行代码更改。

将以下属性添加到每个服务项目中的 spring 属性文件中:

eureka.instance.hostName=${spring.application.name}

或(如果您想要与 spring 应用程序名称不同的名称)

eureka.instance.hostName=<custom-host-name>

Spring 引导现在将使用 Eureka 中提供的主机名进行注册

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM