【发布时间】:2021-06-10 14:14:25
【问题描述】:
我想知道是否有人可以帮助解决我的问题,设置如下:
- 我们在 GKE 中有 2 个独立的 Kubernetes 集群,在 v1.17 上运行,它们各自位于一个单独的项目中
- 我们已经在两个项目之间建立了 VPC 对等
- 在集群 1 上,我们有一个由内部 HTTPS 负载平衡器公开的“service1”,我们不希望它公开
- 在集群 2 上,我们打算能够通过内部负载均衡器访问“service1”,并且它应该通过两个项目之间的 VPC 对等连接来完成此操作
问题来了: 当我在集群 2 上的 GKE 节点上通过 SSH 连接时,我可以成功运行 curl 请求以访问在集群 1 上运行的 https://service1.domain.com,并获得预期的响应,因此流量肯定是从集群 2 > 集群 1 路由的。但是,当我从 POD 运行相同的 curl 命令并在 GKE 节点上运行时,相同的 curl 请求会超时。
我已经尽可能多地进行了故障排除,包括 telnet、traceroute 等,但我真的很困惑为什么会这样。如果有人能阐明这里的区别,那就太好了。
我确实想知道 pod 网络是否以某种方式通过集群公共 IP 而不是通过 VPC 对等连接转发流量。
【问题讨论】:
-
听起来像是路由问题。手动创建路由,因此对 cluster2 pod 范围的请求将发送到 cluster2 节点。 VPC 对等互连支持次要范围,但要丢弃。
标签: kubernetes networking cloud cluster-computing google-kubernetes-engine