K8S 负载配置 Keycloak

首先描述一下问题:
K8S 在启用多个POD 后,用户在操作管理界面时会出现获取不到 session 的问题

解决方法如下:

在Service 的 spec.sessionAffinity = ClientIP
可以将IP 接近的请求引用同一个POD
举例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tomcat
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/affinity-mode: "persistent"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
spec:
  tls:
  - hosts:
    - your.host.cn
    secretName: https-secret
  rules:                                                          
  - host: your.host.cn                                            
    http:                                                        
      paths:                                                       
      - path:
        backend:
          serviceName: your service name
          servicePort: 8280


---
apiVersion: v1
kind: Service
metadata:
  name: tomcat
  namespace: default
spec:
  selector:
    app: tomcat
    release: canary
  ports:
  - name: http
    targetPort: 8280
    port: 8280
  sessionAffinity: ClientIP
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 3600
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值