【发布时间】:2016-04-03 02:59:12
【问题描述】:
我想在 Google Container Engine 上托管一个网站(简单的 nginx+php-fpm)。我构建了一个控制 nginx 和 php-fpm pod 的复制控制器。我还构建了一个可以公开网站的服务。
如何将我的服务链接到公共(和保留的)IP 地址,以便网络服务器看到客户端 IP 地址?
我尝试创建一个入口。它通过额外的 http 标头提供客户端 IP。不幸的是,ingress 还不支持保留 IP:
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.org
http:
paths:
- backend:
serviceName: example-web
servicePort: 80
path: /
我还尝试使用保留 IP 创建服务。这给了我一个公共 IP 地址,但我认为客户端 IP 丢失了:
apiVersion: v1
kind: Service
metadata:
name: 'example-web'
spec:
selector:
app: example-web
ports:
- port: 80
targetPort: 80
loadBalancerIP: "10.10.10.10"
type: LoadBalancer
我会手动设置 HTTP 负载平衡器,但我没有找到将集群 IP 配置为负载平衡器后端的方法。
这对我来说似乎是一个非常基本的用例,并且阻碍了在生产中使用容器引擎。我错过了什么?我哪里错了?
【问题讨论】:
标签: kubernetes google-kubernetes-engine