【问题标题】:How to set the external IP of a specific node in Google Kubernetes Engine?如何在 Google Kubernetes Engine 中设置特定节点的外部 IP?
【发布时间】:2019-07-26 20:17:39
【问题描述】:

不幸的是,我们必须与第三方服务交互,而不是实现身份验证,而是依赖请求 IP 来确定客户端是否被授权。

这是有问题的,因为节点是由 Kubernetes 启动和销毁的,并且每次外部 IP 更改时。有没有办法确保在一组固定的 IP 中选择外部 IP?这样我们就可以将这些 IP 传达给第三方,他们将被授权执行请求。我只找到了一种修复服务 IP 的方法,但这并没有改变所有单个节点的 IP。

明确地说,我们使用的是 Google 的 Kubernetes Engine,因此该环境的自定义解决方案也可以工作。

【问题讨论】:

    标签: networking kubernetes google-kubernetes-engine


    【解决方案1】:

    是的,可以使用KubeIP

    您可以创建一个可共享的 IP 地址池,并使用 KubeIP 自动将池中的 IP 地址附加到 Kubernetes 节点。

    IP 地址可以通过以下方式创建:

    1. 打开 Google Cloud 仪表板
    2. 进入 VPC 网络 -> 外部 IP 地址
    3. 单击“保留静态地址”并按照向导进行操作(在网络服务层上,我认为它需要是“高级”才能正常工作)。

    【讨论】:

    • 完美运行,部署也非常简单。谢谢!
    【解决方案2】:

    为 GKE 节点或整个集群设置单个静态 IP 的最简单方法是使用 NAT。

    您可以使用自定义 NAT 解决方案或将 Google Cloud NAT 与私有集群一起使用

    【讨论】:

    • 谢谢。我认为这是一个有效的解决方案,但对于我的简单用例而言,使用 KubeIP 更为直接。
    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 2018-08-02
    • 2021-06-07
    • 2017-11-04
    • 2019-01-14
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多