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
    

      

      

      

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    PHP类型转换和判断类型
    PHP设计模式
    转载:IntelliJ IDEA 2016.2 配置Tomcat 运行Web项目
    Android集成友盟facebook分享
    Android Studio的Android Monitor窗口中把标签拉出来之后放不回去的解决方法
    转载:Android应用的自动更新模块
    VMware Workstation虚拟机安装Windows 7系统
    Android Studio配置使用git
    转载:Android Studio调试功能使用总结
    Android Eclipse调试技巧
  • 原文地址:https://www.cnblogs.com/wukc/p/15152562.html
Copyright © 2011-2022 走看看