Websockets on Okteto cloud?

4/12/2020

Is there currently a way to serve websockets from an application deployed on Okteto cloud given the okteto-specific limitations around Ingresses and Services ?


I've read that this would only be possible using a Service or Ingress of type LoadBalancer, so that is what I've tried.

But, according to the Okteto docs, Services of type LoadBalancer (or NodePort) are managed. In practice they seem to get transformed automatically into a ClusterIP Service, + exposed to the internet on an automatic URL.

Do these handle only HTTP requests ? Or is there a way to make them handle other kinds of connections based on TCP or UDP (like websockets) ?

-- Nicolas Marshall
cloud
kubernetes
kubernetes-ingress
kubernetes-service
okteto

1 Answer

4/13/2020

You don't need a LoadBalancer to use WebSockets, they can be served from an Ingress with a ClusterIP as well (this is what Okteto Cloud uses for our endpoints). This setup supports HTTPS, WebSockets and even GRPC-based endpoints.

This sample shows you how to use WebSockets on a Node app deployed in Okteto Cloud, hope it helps! (it uses okteto-generated Kubernetes manifests, but you can also bring your own).

-- Ramiro Berrelleza
Source: StackOverflow