TCP tunneling with Skupper
This is a simple demonstration of TCP communication tunneled through a Skupper network from a private to a public cluster and back again. During development of this demonstration, the private cluster was running locally, while the public cluster was on AWS.
We will set up a Skupper network between the two clusters, start a TCP echo-server on the public cluster, then communicate to it from the private cluster and receive its replies. At no time is any port opened on the machine running the private cluster.
- The
kubectlcommand-line tool, version 1.15 or later (installation guide) - The
skuppercommand-line tool, the latest version (installation guide) - Two Kubernetes namespaces, from any providers you choose, on any clusters you choose. ( In this example, the namespaces are called 'public' and 'private'. )
- A private cluster running on your local machine.
- A public cluster is running on a public cloud provider.
-
On your local machine, make a directory for this tutorial and clone the example repo:
mkdir tcp-echo cd tcp-echo git clone https://github.com/skupperproject/skupper-example-tcp-echo -
Prepare the target clusters.
- On your local machine, log in to both clusters in a separate terminal session.
- In the local cluster create the namespace 'private'. In the remote cluster, create the namespace 'public'.
- In each cluster, set the kubectl config context to use the demo namespace (see kubectl cheat sheet)