Commit bfc67573 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Manifests:

- Updated NGINX Ingress Controller to support sticky socket.io sessions towards NBI
parent 33c7b428
Loading
Loading
Loading
Loading
+29 −6
Original line number Diff line number Diff line
@@ -17,12 +17,28 @@ kind: Ingress
metadata:
  name: tfs-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/limit-rps: "50"
    nginx.ingress.kubernetes.io/limit-connections: "50"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "50"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "50"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "50"
    nginx.ingress.kubernetes.io/rewrite-target: "/$2"

    # Enable websocket services and configure sticky cookies (seems not to work)
    #nginx.org/websocket-services: "nbiservice"
    #nginx.org/sticky-cookie-services: "serviceName=nbiservice tfs-nbi-session expires=1h path=/socket.io"

    # Enable sticky sessions (use same backend for all connections
    # originated by a specific client, identified through its cookie)
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/affinity-mode: "persistent"
    nginx.ingress.kubernetes.io/session-cookie-name: "tfs-nbi-session"
    nginx.ingress.kubernetes.io/session-cookie-path: "/socket.io"
    nginx.ingress.kubernetes.io/session-cookie-expires: "3600"
    nginx.ingress.kubernetes.io/session-cookie-change-on-failure: "true"

    nginx.ingress.kubernetes.io/limit-rps: "50"             # max requests per second per source IP
    nginx.ingress.kubernetes.io/limit-connections: "50"     # max concurrent connections per source IP
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "60" # max timeout for connecting to server

    # Enable long-lived connections, required for websocket/socket.io streams
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"  # max timeout between two successive read operations
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"  # max timeout between two successive write operations
spec:
  rules:
    - http:
@@ -48,6 +64,13 @@ spec:
                name: nbiservice
                port:
                  number: 8080
          - path: /()(socket.io/.*)
            pathType: Prefix
            backend:
              service:
                name: nbiservice
                port:
                  number: 8080
          - path: /()(tfs-api/.*)
            pathType: Prefix
            backend: