Kubernetes中如何保持Session的会话?

3fad0935c2a254dba40cbbed7dfd81b2.png

0x01 Kubernetes中Session的会话保持

背景说明: 基于kubernetes集群中部署Java项目,您发现在多pod模式下会出现登录成功但是页面无法跳转的问题,或验证明明输入正确却提示验证码错误无法登陆,而在单一pod时却可以成功登录并页面正常跳转,于是推测是cookie的问题。

解决方式: 进行K8S会话粘粘与保持, 但是针对于不同的实践环境又有所不同,例如采用ClusterIP、NodePort方式或者Ingress访问来访问我们的应用。

Service
描述: 网上的大部分文章提供的解决方案都是在service的配置文件中加入sessionAffinity: ClientIP,功能是选择与请求来源ip更接近的pod,这样就会固定同一个session但可能会出现流量负载不均衡的情况。

演示案例:

apiVersion: v1
kind: Service
metadata:
  name: tomcat
  namespace: default
spec:
  selector:
    app: tomcat
    release: canary
  ports:
  - name: http
    targetPort: 8280
    port: 8280
  sessionAffinity: ClientIP

ingress-nginx
在i

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值