【问题标题】:Why requests outgoing from the nodes IPs instead of the Load Balancer?为什么从节点 IP 而不是负载均衡器发出请求?
【发布时间】:2022-01-25 12:00:46
【问题描述】:

我有一个包含 3 个节点和 1 个负载均衡器的 K8S 集群。我需要在第三方 API 中给我的 IP 贴上白标。但是我没有提供负载均衡器的 IP,而是看到请求来自实际节点的 IP。如果我扩展我需要手动跟踪这个?它是如何工作的?

【问题讨论】:

    标签: kubernetes load-balancing


    【解决方案1】:

    您指的是对集群的出站流量进行 NAT。

    集群的出站流量将始终来自节点,而不是负载平衡器。负载均衡器用于入站流量。

    如果您想要白标(我假设您的意思是“白名单”或“允许名单”),您需要使用 Cloud NAT https://cloud.google.com/nat/docs/overview 或 Cloud Router https://cloud.google.com/network-connectivity/docs/router/concepts/overview 之类的东西来强制您的流量通过已知的外部 IP,该 IP然后,您可以在第三方端允许。

    即使你扩展到多个节点,如果你配置了 Cloud NAT/Cloud Router,你仍然会来自相同的外部 IP。

    【讨论】:

    • 它是否仅适用于 Google Cloud Kubernetes?或者我也可以将其应用于其他云提供商?
    • 它可以用于 GCP 中的任何东西——比如 GKE 或基于 GCP 的 K8s。但即使在其他供应商上也应该有类似的东西。例如,AWS 有 NAT 网关和 NAT 实例。
    • 那么,如果我使用 DigitalOcean 为例,它必须由他们提供?
    • Digital Ocean 应该提供类似的东西,是的。我没用过 DO 所以可以肯定,但这可能有用:docs.digitalocean.com/products/networking/vpc/resources/…
    • 不错。但似乎我必须手动创建一个不同的 Droplet.. 是否有任何可以应用的 K8S 对象,就像 Ingress 但用于出站请求?
    猜你喜欢
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    相关资源
    最近更新 更多