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