I have deployed the helm chart and set the ingress resource . when i visit the site loads properly as well
the websocket connection fails.
i read on the nginx ingress controller docs that websocket is supported out of the box.
I read that we need to make the ingress controller to speak TCP .
I am using a classic ELB with nginx ingress controller.
I would like to know if i missing any concept on networking here .Thanks
Things i tried:
exposed the svc as loadbalancer , works without error
tried using this svc as part of ingress resource - websocket error
tried seting the svc to clusterIP and again same error
tried setting headers to max timeout for 3600 (string) . again websocket error
on loadbalancer i see 2 rules. http 80 and https 443(with ACM certificate).
Based on this it sounds like the problem is in your ingress controller or Load balancer, rather than Z2JH.
Which ingress controller are you using? Confusingly there are two different K8s Nginx ingress controllers, (“nginx ingress” and “ingress-nginx”), with different configurations.
I am using kubernetes/ingress-nginx installed as helm chart.
version = “4.1.0”
chart = “ingress-nginx”
I tried to understand the docs. (specially theIMPORTANT section) Miscellaneous - NGINX Ingress Controller . it says If the NGINX ingress controller is exposed with a service type=LoadBalancer make sure the protocol between the loadbalancer and NGINX is TCP.
now i want to understand what this means. i see 2 rules in the classic loadbalancer(yes we are still on classic elb). http 80, and https 443.
i tried to change it to TCP 80 also. didn’t work
i tried to port-forward the service and everything runs fine.
i tried setting the following annotations as well (ofc didnt’ work)
backend-protocol: TCP
proxy-read-timeout: “3600”
proxy-send-timeout: “3600”
websocket-services: jupyterhub-bit-proxy-public (the prefix is not added here , discourse thinks it as URL) and i am not allowed to more than 2 links in single comment
I am missing a networking concept here i believe. don’t know exactly what .