如何使用ClusterIP服务从Azure Kubernetes内部获取客户端IP地址

时间:2019-07-02 05:38:44

标签: azure kubernetes

我在Kubernetes中部署了一个WebAPI应用程序,当我们访问API时,我们需要从访问该应用程序的地方记录系统IP。简单来说,我需要从调用API的位置获取客户端IP /系统IP。为了获取IP地址,我正在使用

HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() 

,但是它总是返回Kubernetes的节点IP地址,而不是客户端IP地址。在Kubernetes中创建的服务抽象/服务的类型为“ ClusterIP”。

是否可以通过ClusterIP类型的服务获取客户端IP?

1 个答案:

答案 0 :(得分:1)

根据link给定的Maciek Sawicki,可以从群集内部访问ClusterIP类型的服务,因此不能在群集外部访问ClusterIP类型的服务。因此,此类服务的流量来自节点或其他Pod。

但是,如果要记录客户端的IP地址,请将服务类型更改为NodePort或负载均衡器,然后将service.spec.externalTrafficPolicy添加到以上链接中给出的值Local中。