【发布时间】:2021-01-27 06:34:13
【问题描述】:
我必须从我的业务中的请求中获取真实的 ip。实际上,我每次在我的测试环境中都得到了10.2.100.1。有什么办法吗?
【问题讨论】:
标签: kubernetes
我必须从我的业务中的请求中获取真实的 ip。实际上,我每次在我的测试环境中都得到了10.2.100.1。有什么办法吗?
【问题讨论】:
标签: kubernetes
这与GCE + K8S - Accessing referral IP address 和How to read client IP addresses from HTTP requests behind Kubernetes services? 是同一个问题。
从他们那里复制的答案是,这在 Kubernetes 的已发布版本中尚不可能。
服务通过 kube_proxy,它回答客户端连接并代理到后端(您的 Web 服务器)。您看到的地址将是连接通过的任何 kube-proxy 的 IP。
Work 正在使用 iptables 作为代理的solution 上主动完成,这将导致您的服务器看到真实的客户端 IP。
【讨论】:
尝试获取与该 pod 关联的服务 IP。
【讨论】:
现在一个非常迂回的方法是设置一个 HTTP 活跃度探测并观察它的来源 IP。只要确保也适当地响应它,否则它会假定您的 pod 已关闭。
【讨论】: