【问题标题】:Is it possible to use Cloud NAT with public GKE Cluster?是否可以将 Cloud NAT 与公共 GKE 集群一起使用?
【发布时间】:2020-06-01 08:54:24
【问题描述】:

我有一个带有 2 个节点的公共 GKE 集群,以及 2 个公共外部 IP。我只想要一个出口 IP。

我想为此使用 Cloud NAT。看来这是可能的。

分配给虚拟机网络接口的别名 IP 范围:即使 网络接口有一个分配给它的外部 IP 地址,您可以 配置 Cloud NAT 网关,为源数据包提供 NAT 来自接口的别名 IP 范围。外部 IP 地址 在接口上从不对别名 IP 地址执行一对一 NAT。

我创建了一个 Cloud NAT,但它无法正常工作。我使用以下命令获取 IP,它总是返回节点的 IP 之一。

kubectl run -i --tty get-ip-address --image=dwdraju/alpine-curl-jq --restart=Never

curl checkip.amazonaws.com

我的集群启用了 VPC 本机。

【问题讨论】:

    标签: google-kubernetes-engine nat


    【解决方案1】:

    请使用私人Kubernetes Cluster 选项。节点将只有内部 IP 地址。

    如果您关注此guide,您将能够使用私有集群实现所需的配置。

    【讨论】:

    • 但我还想要我的 REST API 的公共端点。私有集群可以工作吗?
    • 如果你使用 curl 命令。 Cloud NAT 公共 IP 将作为公共端点服务。例如,使用命令“curl checkip.amazonaws.com”将输出您创建 NAT 网关时分配的公共 IP 地址。
    【解决方案2】:

    Cloud NAT 不适用于公共集群。但是,这仅意味着您的节点将没有公共 IP。私有集群仍然可以通过使用服务类型 LoadBalancer 或使用入口资源来使用公共端点。

    对于您的端点 REST API 端点,请使用具有静态 IP 的入口或负载均衡器,以确保可以从集群外部访问端点并且端点(IP 或 URL)是稳定的。

    【讨论】:

      猜你喜欢
      • 2019-03-31
      • 2021-05-01
      • 1970-01-01
      • 2013-08-31
      • 2019-12-04
      • 2016-09-05
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      相关资源
      最近更新 更多