我有一个容器,其 Pod 中有一个暴露的端口。当我检查容器化应用程序中的日志时,请求的来源始终是 192.168.189.0,这是一个集群 IP。我需要能够看到请求的原始源IP。有什么办法可以做到这一点吗? 我尝试修改服务(externalTrafficPolicy:Local)而不是集群,但它仍然不起作用。请帮忙。
最佳答案
当您正在开发需要知道源 IP 地址的应用程序或服务时,您需要知道您正在使用的网络的拓扑。这意味着您需要了解负载均衡器或代理的不同层如何工作以将流量传输到您的服务。
根据您使用的云提供商或应用程序前面的负载均衡器,源 IP 地址应位于请求的 header 中。您必须查找的 header 是 X-Fordwared-for
,更多信息 here ,根据您使用的代理或负载均衡器,有时您需要激活此 header 才能接收正确的 IP 地址。
关于kubernetes - 我是否可以获得一个日志,显示命中 Kubernetes 集群中 NodePort 的请求的源 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58587598/