This sample runs TCP Echo Server as an Istio service. TCP Echo Server allows you to connect to it over TCP and echoes back data sent to it along with a preconfigured prefix.
To run the TCP Echo Service sample:
Install Istio by following the istio install instructions.
Start the tcp-echo-server
service inside the Istio service mesh:
$ kubectl apply -f <(istioctl kube-inject -f tcp-echo.yaml) service/tcp-echo created deployment.extensions/tcp-echo created
Test by running the nc
command from a busybox
container from within the cluster.
$ kubectl run -i --rm --restart=Never dummy --image=busybox -- sh -c "echo world | nc tcp-echo 9000" hello world pod "dummy" deleted
As you observe, sending world on a TCP connection to the server results in the server prepending hello and echoing back with hello world.
To clean up, execute the following command:
$ kubectl delete -f tcp-echo.yaml service "tcp-echo" deleted deployment.extensions "tcp-echo" deleted