我们有一个运行在GKE上的Kubernetes集群,使用它自己创建的VPC,子网为10.184.0.0/20。此群集的工作负载已分配了一个外部负载平衡器,用于公共访问,以及一个内部群集IP,用于内部通信。服务的子网是10.0.0.0/20。
同一个私有网络上有google cloud Classic VPN设置,可以访问内网。
我们有另一个内部托管的系统,它使用隧道通过上面的VPN连接。本地网络可以通过子网10.184.0.0/20上的内网IP ping私有网络内的节点,但可以ping / telnet到子网10.0.0.0/20上的集群IP。
这有可能实现吗?
发布于 2020-09-29 05:17:15
这确实是可能的,因为您的隧道已经建立,并且您可以ping您的节点。我猜测您无法从本地应用程序到达pod和服务范围,这意味着您只通告主10.184.0.0/20 CIDR,而不通告次要节点,对吗?
您可以根据多种产品(防火墙规则、私有网络对等、路由、VPN通道等),通过运行connectivity test来模拟源-目标之间的流量(本例中源是您本地网络的IP,目标应该是您的服务IP),并会告诉您您的环境是否有问题/缺失。
如果您的VPN配置中缺少这些范围,则需要re-create it,并确保在流量选择器中添加次要范围(或使用宽0.0.0.0/0 CIDR)。
最后,请记住,您需要使用services (集群IP、NodePort、负载均衡器)公开您的应用程序,并从您的本地网络再次测试。
https://stackoverflow.com/questions/64099017
复制相似问题