Using Consul service mesh with Load Balancer service

Hi there,

I’m new to Consul, I was trying to follow a tutorial where you deploy a consul instance (POC) on K8s (EKS) and then as a test you deploy a two-tier application made of a backend data service that returns a number (the counting service), and a frontend dashboard that pulls from the counting service over HTTP and displays the number.

This works well as long as both services are internal (type clusterIP), I can see both apps communicating, but as soon as I change the dashboard to use an AWS Loadbalancer (using an Ingress gateway) the connection breaks, I can access the dashboard but the dashboard cannot access the backend “counting”. Technically service mesh is not blocking anything and I even added some intentions to specifically allow traffic between the ingress service and the apps, I also checked the LB permissions and everything looks fine.

Could anyone please point me in the right direction?

Please find attached my deployment/service definitions

counting.txt (647 Bytes)
ingress-gateway.txt (345 Bytes)
helm-consul-values.txt (848 Bytes)
dashboard.txt (860 Bytes)

Hi @Gabyx92 sorry for the delay. I think this is because websockets are not supported in Consul’s ingress gateways right now (Support HTTP connection protocol upgrades thru Envoy · Issue #8283 · hashicorp/consul · GitHub). The dashboard uses websockets to connect with counting.