首页 > 解决方案 > 使用 nginx 入口控制器为金丝雀版本启用会话亲和性

问题描述

我正在尝试使用 Nginx 入口控制器设置 canary-release。问题是它不会保持会话亲和性,从而导致每个请求都由随机服务提供服务。

我的金丝雀入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: canary
  name: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/canary: "true"
    nginx.ingress.kubernetes.io/canary-weight: "50"

我的默认入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/affinity: cookie

目前是否可以使用 Nginx 入口为金丝雀版本启用会话亲和性?

标签: nginxkuberneteskubernetes-ingressnginx-ingresscanary-deployment

解决方案


似乎你不是唯一有这个问题的人。github 上有一个未解决的问题,几乎是相同的问题:Session affinity doesn't work for canaries

等待修复


推荐阅读