【发布时间】:2018-09-09 21:29:13
【问题描述】:
我在我的开发环境中使用以下配置的 minibike 进行了粘性会话:
入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gl-ingress
annotations:
nginx.ingress.kubernetes.io/affinity: cookie
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: "projects/oceanic-isotope-199421/global/addresses/web-static-ip"
spec:
backend:
serviceName: gl-ui-service
servicePort: 80
rules:
- http:
paths:
- path: /api/*
backend:
serviceName: gl-api-service
servicePort: 8080
服务:
apiVersion: v1
kind: Service
metadata:
name: gl-api-service
labels:
app: gl-api
annotations:
ingress.kubernetes.io/affinity: 'cookie'
spec:
type: NodePort
ports:
- port: 8080
protocol: TCP
selector:
app: gl-api
现在我已将我的项目部署到 GKE 粘性会话不再起作用。我认为原因是 GKE 中配置的全局负载均衡器与 NGINX Ingress 控制器没有会话亲和性。任何人有运气把这个连接起来吗?任何帮助,将不胜感激。我想建立会话亲和性:客户端浏览器 > 负载均衡器 > 入口 > 服务。实际会话存在于服务后面的 pod 中。它是一个 API 网关(使用 Zuul 构建)。
【问题讨论】:
标签: kubernetes google-kubernetes-engine