【问题标题】:gcp Assigning exetrnal IP address to node in node poolgcp为节点池中的节点分配外部IP地址
【发布时间】:2023-03-06 21:26:02
【问题描述】:

我有一个节点池(在 terraform 中创建),并且我的项目中保留了一个外部 IP。

我希望节点池中的一个节点始终被分配该特定 IP 地址。

有没有办法在 GCP 上做到这一点?

【问题讨论】:

    标签: google-cloud-platform


    【解决方案1】:

    您可以为实例分配static external IP 地址,但对于 GKE 节点来说这是不可能的,因为节点本质上是致命的并且可以重新分配。在这里,您需要为每个节点保留一个静态 IP 地址,这是不可能的。如果不使用保留的静态 IP 地址,您可能会浪费静态 IP 地址资源。您仍然需要为此付费。

    您还可以选择configure HTTP load balancer using ingress 并为负载均衡器保留一个静态 IP 地址。除了使用 NodePort,您还可以使用 ClusterIP 类型的服务并创建一个 ingress 规则将流量转发到这些服务。通过使用Cloud Nat,您可以通过静态 IP 路由出口流量。

    【讨论】:

      【解决方案2】:

      Kubernetes 的理念是您的节点(基础设施)是一次性的,应该没有任何意义。

      任何节点都可能发生故障或随时被云服务器关闭(想想临时实例)。

      大多数人只需要公开一些部署或 pod。

      为了简单起见(不仅仅是 SRE,调度软件也是如此),我们通常每个节点有一个 pod。

      我猜你认为你需要给一个节点一个特定的地址,因为它里面有一个 pod,出于某种原因必须有这个地址。

      如果您需要为开发提供特定 IP 地址,则需要公开它(kubectl expose 使用 --external-ip 选项)。

      我认为您可能需要将固定 IP 绑定到节点的唯一情况是,如果您需要在该节点中运行一些获得该 IP 地址许可的软件,但我不确定其用途案例。

      【讨论】:

      • 如果您有一些通过 IP 许可的软件,也许 Kubevirt 可能会有所帮助?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 2021-07-06
      相关资源
      最近更新 更多