k8s的tomcat多pod session會話保持配置
阿新 • • 發佈:2021-08-17
問題: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
[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
[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
做一個決定,並不難,難的是付諸行動,並且堅持到底。