从多节点 GCP kubernetes 集群获取用于白名单的 IP

从多节点 GCP kubernetes 集群获取用于白名单的 IP

我可以访问我们企业网络中的服务(Kafka 代理),该服务可通过 VPN 或选定的白名单 IP 访问。我可以通过 kafkacat 在本地(在 VPN 上或在办公室)进行连接,但不能在 GCP(Google Cloud Platform)内进行连接。如果我没有使用 VPN,我会在 GCP 和本地都收到通用错误消息“代理传输失败”。

我们在 GCP 中运行的所有内容都是基于集群 (Kubernetes) 的,在多个节点和可能多个集群上。是否有一个理想的模式或经过验证的方法,让 GCP 为我们提供单个传出 IP,我们可以在给定集群中的所有节点上使用该 IP 进行白名单处理,这样当我访问 WAN 上的基本服务时,默认情况下它将通过此​​ IP 并被组织接受?

否则,我猜我们可以在节点级别获得多个 IP(如果它们确实存在的话),只要它们是静态的。

似乎每个工作节点都有不同的外部 IP。我看过有关使用 GCP VM 设置 IP 的文档,但我们没有使用 VM。

我相信其他人也遇到过这个问题,因此一定有一个方便的解决方案。

感谢你的帮助!

答案1

推荐的方法是使用GKE 私有版与 Cloud NAT。由于 GKE 节点具有私有 IP 地址,因此出站流量将通过 Cloud NAT。您必须使用静态 IP 配置 Cloud NAT,而不是使用自动分配 IP 的示例链接。

如果您因正当理由无法使用私有 GKE 集群,则可以尝试以下工具kubeip为您的 GKE 节点分配静态外部 IP。

相关内容