首页 > 解决方案 > 应该如何建立 VPN 隧道以连接到 kubernetes 集群外部的 eureka

问题描述

我将 spring-boot 微服务部署到 kubernetes 集群。在集群外部,AWS 上有 netflix eureka 发现服务。我想在这个尤里卡上注册我的服务。网关也在 AWS 上。在我的本地机器上,我需要通过 openvpn 创建 vpn 连接以访问 eureka,Kubernetes 集群也在 aws 之外,并且需要 vpn。我有 *.ovpn,我想我必须在 kubernetes 上创建一些 vpn 隧道,但我不知道合适的工具

过去我为 kubernetes 寻找类似 openvpn 客户端的东西,但我只有 openvpn 服务器

我希望当我将正确的主机设置为 Eureka url 时,我的服务将通过 vpn 正确注册

标签: javaspring-bootkubernetesnetflix-eurekaopenvpn

解决方案


可以将每个Kubernetes pod 放在 OpenVPN 网络上,以便它们能够访问 Eureka 实例。但是,由于您希望 Eureka 进行服务发现,它还需要知道每个 pod 的“真实”IP,而不仅仅是查看它们的 VPN IP。如果 Eureka 为所有内容发布 VPN IP,所有流量都将通过 OpenVPN 连接进行路由,这会引入额外的延迟。这样的设置也很难调试和监控。

最好使用云提供商的网络桥接解决方案。如果您在 AWS 上,Site-to-Site VPN应该可以解决问题。Azure 也有同名的产品。谷歌有Cloud VPN和几个企业选项


推荐阅读