zoukankan      html  css  js  c++  java
  • k8s的tomcat多pod session会话保持配置

    问题:k8s启动的tomcat服务,每次访问都带了session会话,每次调整不同的pod导致session实效,系统登录失败。

    处理:在server中添加session保持

    sessionAffinity: ClientIP
    实验:
    启动服务:
    [root@master test]# more Deploy.yaml 
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: spring-k8s
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: spring-k8s
      template:
        metadata:
          labels:
            app: spring-k8s
        spec:
          containers:
            - name: spring-k8s
              image: jiangbo920827/spring-k8s:liveness
              ports:
                - containerPort: 8080
    [root@master test]# more Service.yaml 
    apiVersion: v1
    kind: Service
    metadata:
      name: spring-k8s
    spec:
      selector:
        app: spring-k8s
      type: NodePort
      ports:
        - nodePort: 30008
          port: 80
          protocol: TCP
          targetPort: 8080
    
    容器启动:
    [root@master ~]# kubectl get pods |grep sprin
    spring-k8s-7db85b44fc-4d9xg   1/1       Running   0          1h
    spring-k8s-7db85b44fc-4rjp4   1/1       Running   0          1h
    spring-k8s-7db85b44fc-64v76   1/1       Running   0          1h
    spring-k8s-7db85b44fc-s5hhw   1/1       Running   0          1h
    没加session亲和信参数:分布到各个pod
    [root@master test]# for i in {1..10};do curl http://192.168.10.98:30008/hostname;echo ;done
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4rjp4
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-64v76
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-s5hhw
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-64v76
    spring-k8s-7db85b44fc-s5hhw
    
    添加session亲和性参数:sessionAffinity: ClientIP
    [root@master test]# more Service.yaml 
    apiVersion: v1
    kind: Service
    metadata:
      name: spring-k8s
    spec:
      selector:
        app: spring-k8s
      type: NodePort
      ports:
        - nodePort: 30008
          port: 80
          protocol: TCP
          targetPort: 8080
      sessionAffinity: ClientIP
    [root@master test]# for i in {1..10};do curl http://192.168.10.98:30008/hostname;echo ;done
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    spring-k8s-7db85b44fc-4d9xg
    

      

      

      

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    Vue 封装js 并 引用
    Vue todolist练习 知识点
    Vue 双向数据绑定、事件介绍以及ref获取dom节点
    Vue 目录结构 绑定数据 绑定属性 循环渲染数据
    Vue自学笔记--项目的创建
    sqlalchemy第一部分
    mysql查询补充
    mysql数据库查询操作
    mysql数据库关系操作
    数据表的约束及数据类型操作
  • 原文地址:https://www.cnblogs.com/wukc/p/15152562.html
Copyright © 2011-2022 走看看