当前位置: 首页 > 知识库问答 >
问题:

Spring boot微服务在Kubernetes Cluster-Docker桌面上以pod名作为主机名注册到Eureka

邹修真
2023-03-14
java.net.UnknownHostException: oc-order-6b64576f4b-7gp85: Name does not resolve

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

我想使用Eureka作为发现服务,因为它与spring boot很好地集成在一起,我不想为Kubernetes部署做代码更改。

共有1个答案

赫连黎昕
2023-03-14

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

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

或者(如果您想要一个不同于spring应用程序名称的名称)

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

Spring boot现在将使用Eureka中提供的主机名注册

 类似资料:
  • 我刚刚关注了下面这篇文章,https://spring.io/blog/2015/07/14/microservices-with-spring,但是我无法在尤里卡注册我的微服务。 customer-service.yml build . gradle for customer-service CustomerService.java 注册-server.yml

  • creds application.yml服务器:端口:9000 Eureka:Client:ServiceUrl:DefaultZone:http://localhost:8761/Eureka/ 发现application.yml

  • 它现在是如何工作的: 微服务X用静态ip向微服务Y发出REST API请求 我试图通过在docker-compose中创建一个已使用的定义网络来实现这一点: 例如,我可以从容器X ping到容器Y,但不能Curl。我该如何解决这个问题,或者这不是实现我想要的最好的方法。

  • 我有一个简单的spring引导的微服务(用户服务)和一个spring引导的网关服务(网关-服务器),使用Zuul设置到Eureka服务器(发现服务)注册。向用户-服务发送请求直接起作用,并且所有服务都成功地注册到eureka服务器。当我向网关服务器发送请求时,我会得到一个转发错误,原因是“com.netflix.client.clientException:Load balancer没有用于客户端

  • Spring Boot版本:2.1.6.发行版 Spring Cloud版本:greenwich.sr1 目的是在一个集群中建立两个Eureka服务器实例,并将所有微服务注册到这两个服务器上,以实现HA。目前,我正在运行Ubuntu18.04的本地机器上测试这一点。 因此,正如在官方文档中提到的,我已经建立了对Eureka实例的点对点意识。在打开这两个Eureka服务器实例时,在Instance-

  • 例外情况是: docker-compose文件是: 多克菲乌勒