Hi everyone, I’ve been trying to expose the sample tcp-echo app (https://github.com/istio/istio/tree/master/samples/tcp-echo) on a EKS cluster (kubernetes 1.12 and Istio 1.1.1) but somehow can’t connect to it from outside the cluster. I’ve also looked at the discuss channel and istio’s github issues but couldn’t find people having similar problems.
Here is what I’ve tried to far, but if anyone has ideas on another approaches or logs to look out for while testing, please let me know:
- Added a new port to my Ingress configuration (61617), create the pod and service to expose the tcp echo server, then created the Gateway and VirtualService to configure a DNS entry using ExternalDNS (https://github.com/kubernetes-incubator/external-dns) on AWS Route53.
- Used an existing port (80) and deployed the same configuration as before.
I get the DNS working and I can connect to the endpoint using telnet/nc but it looks like once the connection pass through the ingress it never reaches the pod (no access is logged and no response is sent back):
echo world | nc -v tcp-echo.myhost.com 80 found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif en0 src <ip> port 64362 dst <ip> port 80 rank info not available TCP aux info available Connection to tcp-echo.preview.graingercloud.com port 80 [tcp/http] succeeded! # but nothing gets back from the tcp echo server
If I use
kubectl por-forward I can connect to the pod with telnet and get the expected
Hello World message.
So it looks like the issue is between the Ingress and the Service, but I can’t figure out where to look for more information on what I might be missing. I can provide the configuration I’m using but it is pretty similar to the sample on Istio’s repo, the only difference are the ports/hosts.