我的目标是让我的 Web 应用程序(部署在 Kubernetes 1.4 集群上)看到最初发出 HTTP 请求的客户端的 IP。由于我计划在裸机集群上运行应用程序,因此 GCE 和service.alpha.kubernetes.io/external-traffic: OnlyLocal
1.4 中引入的服务注释不适用于我。
在寻找替代方案时,我发现了这个问题,它建议建立一个 Ingress 来实现我的目标。所以,我已经设置了 Ingress 和NginX Ingress Controller。部署进展顺利,我能够通过入口地址和端口 80 连接到我的 Web 应用程序。但是在日志中我仍然看到集群内部 IP(来自 172.16.0.0/16)范围 - 这意味着外部客户端IP 没有通过 Ingress 正确传递。你能告诉我除了上述之外我还需要配置什么才能使它工作吗?
我的入口的配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myWebApp
spec:
backend:
serviceName: myWebApp
servicePort: 8080