开发者社区 > 云原生 > 微服务 > 正文

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

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

展开
收起
k8s小能手 2019-01-09 14:45:26 14006 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    在Activiti Cloud的7-201712-EA版本中,我们提供了一个使用kubernetes中运行netflix库的服务的示例 - 可以参考稳定的github标签和docker 镜像。我们通过为每个组件创建Kubernetes服务并使用k8s服务名称使组件向eureka注册来实现它。

    为了确保组件向eureka声明了正确的服务名称,我们在组件中设置了eureka.instance.hostname,可以通过指定环境变量或使用默认环境变量在Deployment yaml中设置EUREKA_INSTANCE_HOSTNAME。我们还通过在Pod和服务中为java应用程序使用相同的端口来保持简单。同样,可以通过设置Pod规范中的端口并将SERVER_PORT环境变量传递给spring boot应用程序来设置匹配

    2019-07-17 23:25:02
    赞同 1 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像