我的目标是让我的Web应用程序(部署在Kubernetes 1.4群集上)查看最初发出HTTP请求的客户端的IP。由于我打算在裸机集群上运行应用程序,因此GCE和1.4中引入的服务注释不适用于我。使用Ingress保留远程客户IP
寻找替代品,我发现this question这是建议设立一个Ingress实现我的目标。所以,我设置了Ingress和the NginX Ingress Controller。部署进行得很顺利,我可以通过Ingress地址和端口80连接到我的Web应用程序。但是在日志中,我仍然可以看到集群内部IP(从172.16.0.0/16)范围 - 这意味着外部客户端IP没有通过Ingress正确传递。你能告诉我除了上述之外还需要配置什么才能使它工作?
我的入口配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myWebApp
spec:
backend:
serviceName: myWebApp
servicePort: 8080