• 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
    

      

      

      

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    Java【第二篇】基本语法之--进制、运算符
    Java【第一篇】基本语法之--关键字、标识符、变量及分类、数据类型及转换
    安装运行zookeeper的坑
    部署java应用的几种方式
    解决sudo用户找不到环境变量的问题
    Python装饰器详解
    filebeat开启自带模块收集日志如何辨别日志来源等
    使用elasticsearch7.3版本在一台主机上部署多个实例组建集群
    redis 集群搭建
    Kibana多用户创建及角色权限控制
  • 原文地址:https://www.cnblogs.com/wukc/p/15152562.html
Copyright © 2020-2023  润新知