kubernetes - 我是否可以获得一个日志,显示命中 Kubernetes 集群中 NodePort 的请求的源 IP?

标签 kubernetes

我有一个容器,其 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/

相关文章:

kubernetes - 初始化容器获取 url 并将数据挂载到 pod

Kubernetes - 为每个卷(而不是每个 pod)设置自定义权限/文件所有权

kubernetes - kubeadm初始化后的kube-proxy CrashLoopBackOff

kubernetes - kubeadm v1.18.2 和 crio 版本 1.18.2 无法从 Centos7/RH7 上的私有(private)仓库启动主节点

ubuntu - Minikube 在 Ubuntu 中安装 - 运行 SSH 命令出现问题

http - 您可以在 k8s nginx 入口中为每个规则设置后端协议(protocol)吗?

amazon-web-services - 生产 Kubernetes 节点的安全最小磁盘大小是多少?

kubernetes - kustomize 编辑集图像不适用于 kustomize multibases 和 common base

kubernetes 配置映射数据值外化

namespaces - 禁用删除命名空间 - Kubernetes