kubernetes session回话保持

1.Nginx 版本

root@ingress-nginx-controller-4b75b:/# /usr/sbin/nginx -v
nginx version: nginx/1.13.9

2.ingress 配置

apiVersion: extensions/v1beta1

kind: Ingress
metadata:
   name: ingress-fanout
   annotations:
  kubernetes.io/ingress.class: "nginx"
  nginx.ingress.kubernetes.io/affinity: "cookie"
  nginx.ingress.kubernetes.io/session-cookie-name: "route"
  nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
spec:
  rules:
    - host: <dnsname>
      http:
      paths:
        - backend:
          serviceName: <servicename>
          servicePort: 80
path: /

3.回话保持原理

3.1两种方法:

a.session based on affinity

in the spec section:

sessionAffinity: ClientIP

b.session based on cookie

c.下面我介绍第二种

 

参考:The cookie is a piece of data that the client store and send to the web server to say: “Hey, I´m X! Redirect me to my pod!”. It works when there are multiple clients from the same IP, because it´s stored at web browser level. It needs an Ingress object, so you can use it with HTTPS or name-based virtual hosting. Similar to previous post.

参考:https://medium.com/@diegomrtnzg/redirect-your-users-to-the-same-pod-by-using-session-affinity-on-kubernetes-baebf6a1733b

posted @   littlevigra  阅读(3845)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示