Kubernetes 如何在k8s和微服务之间相互访问

Kubernetes 如何在k8s和微服务之间相互访问,kubernetes,spring-cloud,Kubernetes,Spring Cloud,使用K8S部署,我们的项目基于springcloud。我想知道,在K8S中,因为多节点部署传递注册表的默认主机名,所以网关部署在A中,配置部署在B中。它们以前不能通过eureka相互访问。我改为eureka.instance.preference-ip-address:true,但我发现它们只能在同一台主机上相互访问。他没有使用K8S的群集ip。我想知道如何在K8S中的服务之间相互访问。在Activiti Cloud的7-201712-EA版本中,我们提供了一个使用运行kubernetes中ne

使用K8S部署,我们的项目基于springcloud。我想知道,在K8S中,因为多节点部署传递注册表的默认主机名,所以网关部署在A中,配置部署在B中。它们以前不能通过eureka相互访问。我改为eureka.instance.preference-ip-address:true,但我发现它们只能在同一台主机上相互访问。他没有使用K8S的群集ip。我想知道如何在K8S中的服务之间相互访问。

在Activiti Cloud的7-201712-EA版本中,我们提供了一个使用运行kubernetes中netflix库的服务的示例-stable和docker映像可供参考。我们通过为每个组件创建Kubernetes服务并让组件运行来实现它


为了确保组件向eureka声明了正确的服务名称,我们在组件中添加了一个名称,可以设置该名称或使用默认环境变量eureka_INSTANCE_HOSTNAME。我们还为Pod中的java应用程序和服务使用了相同的端口,从而使事情变得简单。同样,可以通过在Pod规范中设置端口并将服务器端口环境变量传递给spring boot应用程序来将其设置为匹配。

检查spring cloud kubernetes项目

检查向Eureka发布的IP?它必须是pod的公共IP。也就是说,Eureka在K8s中并不常见,因为您通常使用服务系统和群集DNS来管理服务发现:谢谢,我正在尝试将服务注册限制为Eureka的ip地址,以便群集中的其他服务可以访问它。您可以使用服务名向Eureka注册,而不是使用ip。请看,在中有一个例子,尽管该项目的最新版本不再使用Netflix。您的意思是,我在我的eureka中注册的名称是我服务的k8s中的服务名称?我读了另一个问题,我应该设置eureka.instance.hostname=k8s_servername:service_port?