Aliyun K8s 会话保持

阿里云不支持 Web 端的 websocket,所以使用 socket.io,通过 http 模拟 websocket 遇到的问题是,socket 建立连接之后,就必须保持这个连接,而 k8s 默认负载均衡会把http 请求随机打到一台 pod 上 所以就需要会话保持,保证从建立连接开始,所有的请求都打到同一个 pod apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout: "60" name: service namespace: default spec: ports: - protocol: TCP port: 80 targetPort: 8088 selector: app: server sessionAffinity: ClientIP sessionAffinityConfig: clientIP: timeoutSeconds: 10800 type: LoadBalancer

August 14, 2023 · homfen