User Microservice
已部署在kubernetes上。
Order Microservice
尚未部署在kubernetes上,但已在Eureka上注册。
我的问题:
Order Microservice
如何通过Eureka发现并访问User Microservice
?
答案 0 :(得分:1)
首先让我们看一下问题本身: 如果您将覆盖网络用作Kubernetes CNI,则问题在于它会创建一个从外部无法访问的隔离网络(例如,法兰绒)。如果您拥有这样的网络,则一种解决方案是将eureka服务器移至kubernetes中,以便eureka可以访问Kubernetes中的服务以及Kubernetes之外的服务。
另一种解决方案是告诉eureka在哪里可以找到服务而不是自动发现,但是为此,您还需要使用NodePort,HostPort或LoadBalancer类型的 Service 使该服务在外部可用与 ingress 一起使用,我不确定是否可能,但是以下文档中的11.2可能值得一看Developing and deploying a basic Java application on SAP Cloud Platform。
第三个解决方案是使用不使用Eureka Client Discovery之类的覆盖网络的CNI,这将默认使服务可外部路由。