Skip to content

Sticky session affinity 粘滞会话 会话保持 ​

有时候我们的程序还存在session。或者有用内存缓存。这个时候我们希望同一个用户访问的是同一个Pod 就可以开起 affinity 配置如下。

yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web-redirection-live
  namespace: malema-live
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie
	nginx.ingress.kubernetes.io/affinity-mode: "persistent"  # 某个版本得加这个

persistent 生成cookie是这样子的 bc78a91eb108223c08a305f81705d1b1|005b6ecf36ecfe48e0294f235b6d36f8 有两个pod的情况下,你如果删掉当前使用的pod。 INGRESSCOOKIE 会立马更新成新的。 balanced 生成的cookie是这样子的 1782786611.235.1177.235751|a55194986921fde39f18f20f8e4b412f 有两个pod的情况下,你先删掉一下 刷新。 INGRESSCOOKIE 不会变,再删掉另一个旧的。刷新这个值还是不会变。

kubectl annotate ingress <ingress-name> nginx.ingress.kubernetes.io/affinity-mode="persistent"

简单就是美