Web sockets are supported by Google's global load balancer, so you can use a k8s Service of type LoadBalancer to expose such service beyond your cluster.
Do bear in mind that load balancers created and managed outside Kubernetes during this manner can have a default connection duration of thirty seconds, which interferes with web socket operation and will cause the connection to be closed frequently.
This is virtually useless for net sockets to be used effectively.
Until this issue is resolved, you'll either got to modify this timeout parameter manually or (recommended) think about using an in-cluster ingress controller (e.g.nginx) which affords you more control.