我的应用程序在访问第 3 方 API 时使用什么 IP 地址?

发布于 2025-01-09 05:04:28 字数 127 浏览 1 评论 0 原文

我正在使用 GKE 来管理我的应用程序,并且该应用程序正在尝试使用第 3 方 API,并且第 3 方 API 将尝试访问其 API 的 IP 地址列入白名单,我如何找到我的应用程序在使用第 3 方 API 时使用的 IP 地址派对 API?

I'm using GKE to manage my app and the app is trying to consume 3rd party API, and the 3rd party API is whitelisting ip addresses that trying to access their APIs, how can i find what ip address that my app used when consume 3rd party APIs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉墨 2025-01-16 05:04:28

Pod 使用的 IP 地址取决于服务类型和其他一些因素,这些因素在 此文档页面

还有 IP Masquerade 代理,它允许您使用节点的 IP 地址而不是 POD 的 IP 与其他节点上的服务进行通信,记录在此处

现在来解决您的实际问题,您将必须使用绑定到静态 IP 的 NAT 网关,以便集群中的所有传出流量都将使用相同的 IP - 无论它源自哪个 POD/节点。我找到了一些指南,但 YMMV 基于您所在的云或底层基础设施

您应该搜索“Kubernetes IP Masquerade NAT”以获取特定于您的云的说明!

The IP address used by the Pod depends on type of service and a few more factors, which are very well documented in this documentation page

There is also IP Masquerade agent which allows you to use Node's IP address to talk to services on other nodes instead of IP of POD, documented here

Now coming to solution to your actual problem, you will have to use a NAT Gateway tied to a static IP so that all the outgoing traffic from your cluster will use same IP - no matter which POD/Node it originates from. I found a few guide but YMMV based on which cloud or underlying infrastructure you are on

You should search for "Kubernetes IP Masquerade NAT " for instructions specific to your cloud!

偏爱自由 2025-01-16 05:04:28

如果您使用的是 GKE 公共集群,它将是 POD 主要运行所在的节点 IP,但在某些情况下,它可能会有所不同,例如私有集群和使用 NAT 实例。

如果您的集群是公共集群,并且集群中有多个节点,并且不同的 pod 提供不同的 IP,这意味着 POD 使用节点的 IP 作为出站。

您可以执行 POD 并使用 POD 内部的 curl 检查

kubectl exec -it <POD name > -- /bin/sh

并运行

curl ifconfig.me

If you are using the GKE public cluster it will the Node's IP on which POD is running mostly, however in some cases it could be different like Private cluster and using NAT instaces.

If your cluster is public and has multiple Nodes in cluster and different pod giving different IP which means POD's using Node's IP as out bound.

You can exec into POD and check using curl inside of POD

kubectl exec -it <POD name > -- /bin/sh

and run

curl ifconfig.me
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文