AWS EKS websocket based app - good approach?

9/10/2021

I've just deployed websocket based echo-server on AWS EKS. I see it's running stable and okay but when I was searching for implementation details I was finding only articles that were saying something about nginx ingress controller or AWS application loadbalancer and a lot of troubles with them.

Do I miss anything in my current, vanilla config? Do I need the AWS ALB or nginx ingress controller?

Thank you for all the replies. All the best.

-- user7374044
amazon-eks
kubernetes
websocket

1 Answer

9/10/2021

Do I miss anything in my current, vanilla config?

You probably exposed your echo-server app using service type - ClusterIP or NodePort which is fine if you only need to access your app locally in the cluster (ClusterIP) or using your node IP address (NodePort).

Do I need the AWS ALB or nginx ingress controller?

They both are different things, but they have similar common goal - to make your websocket app available externally and distribute traffic based on defined L7 routing routes. It's good solution if you have multiple deployments. So you need to answer yourself if you need some kind of Ingress Controller. If you are planning to deploy your application into production you should consider using those solutions, but probably it may be fine with service type LoadBalancer.

EDIT:

If you are already using service type LoadBalancer your app is already available externally. Ingress controller provides additional configuration possibilities to configure L7 traffic route to your cluster (Ingress Controllers are often using LoadBalancer under the hood). Check this answer for more details about differences between LoadBalancer and Ingress.

Also check:

-- Mikolaj S.
Source: StackOverflow