使用K8S部署,我们的项目基于springcloud。我想知道在K8S中,因为多节点部署传递了注册表的默认主机名,所以网关部署在A中,配置部署在B中。它们之前无法通过eureka相互访问。我改为eureka.instance.prefer-ip-address: true,但我发现他们只能在同一台主机上互相访问。他没有使用K8S的cluster-ip。我想知道如何在K8S中的服务之间相互访问。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在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应用程序来设置匹配