Kubernetes(在GKE上)通过NAT为特定的kube服务进行外部连接?

问题描述 投票:1回答:1

我目前在GKE上有两个集群 - 一个在eu-west1-b,另一个在us-east1-b。部署到这些集群中的节点的pod需要进行基于位置的请求(用于延迟测试目的)。

我还需要连接到RDS上的postgres实例,该实例使用基于IP的白名单进行外部连接。我的集群中的节点有短暂的IP,所以我不能使用它们。

我已经做了大量的研究,并经历了大量的SO答案,文档和教程,并找到了解决方案,通过NAT路由流量几乎是目前在GKE上做到这一点的最佳/唯一方式。

https://serverfault.com/questions/835425/kubernetes-external-connection-through-single-ip

与上面的问题类似,我不希望通过NAT路由我的所有流量。我的理由是因为我需要来自与当前节点关联的互联网网关的请求,因此它来自特定区域。

上面的问题有一些答案几乎让我在那里,但不包括任何特定于kube的配置。这是一个很棒的教程:

https://docs.tenable.com/pvs/deployment/Content/GoogleCloudInstructionsNatGateway.htm

但同样,不是基于kube。

我的想法是我需要在我的kube集群中为postgres定义一个服务,然后告诉它通过NAT路由到外部服务。不完全确定从哪里开始,并希望得到帮助。

kubernetes google-cloud-platform google-kubernetes-engine
1个回答
1
投票

一个办法:

  1. Tag您在具有不同标签的不同区域/区域中的实例
  2. 为每个区域/区域创建静态IP地址
  3. 使用上面的外部地址创建NAT出口节点(GCE实例或实例组)
  4. 通过每个NAT出口节点创建一个route。限制具有RDS入口IP / 32的目标IP范围的每条路由和步骤1中的网络标记(因此实例使用正确的网关)
© www.soinside.com 2019 - 2024. All rights reserved.